The CML (Configurable Math Library) is a free, open-source C++ math library designed for use in games, graphics, computational geometry, and related applications. It includes vector, matrix, and quaternion classes, and a large library of functions for manipulation of these types.
Vectors and matrices can be of arbitrary size, and all classes are parameterized by element type. Other options, such as matrix layout and choice of row- or column-vector notation, are available as well. For more details, please see the Features page.
The purpose of the CML is simply to offer an additional alternative for developers in need of a math library. In particular it can be used as an extension to an existing math library, in lieu of or as an extension to the DirectX math library, or as a drop-in solution for OpenGL-based applications.
The CML is currently being developed by Demian Nave and Jesse Krebs.