Imath |version| Technical Documentation
=======================================

Imath is a basic, light-weight, and efficient C++ representation of 2D
and 3D vectors and matrices and other simple but useful mathematical
objects, functions, and data types common in computer graphics
applications, including the ``half`` 16-bit floating-point type.

- Download: https://github.com/AcademySoftwareFoundation/Imath
- Install Help: `INSTALL.md <https://github.com/AcademySoftwareFoundation/Imath/blob/main/INSTALL>`_
- Porting Help: `Imath/OpenEXR Version 2->3 Porting Guide <https://github.com/AcademySoftwareFoundation/Imath/blob/main/docs/PortingGuide2-3.md>`_
- License: `BSD License <https://github.com/AcademySoftwareFoundation/Imath/blob/main/LICENSE.md>`_

Introduction
############

.. toctree::
   :maxdepth: 3

   intro
   
   install

The half Type
#############

.. toctree::
   :maxdepth: 1

   classes/half
   half_limits
   functions/half_c
   half_conversion
   float
              
Imath Classes
#############

.. toctree::
   :maxdepth: 3

   classes/Box
   classes/Color3
   classes/Color4
   classes/Euler
   classes/Frustum
   classes/Interval
   classes/Line3
   classes/Matrix22
   classes/Matrix33
   classes/Matrix44
   classes/Plane3
   classes/Quat
   classes/Rand32
   classes/Rand48
   classes/Shear6
   classes/Sphere3
   classes/Vec2
   classes/Vec3
   classes/Vec4

Imath Functions
###############

.. toctree::
   :maxdepth: 3

   functions/box
   functions/color
   functions/frame
   functions/gl
   functions/glu
   functions/line
   functions/matrix
   functions/random
   functions/roots
   functions/vec
   
:ref:`genindex`

