*******************************************************************************/
+#ifndef _MATH_HH_
+#define _MATH_HH_
+
/**
* @file math.hh
* General math-related types and functions.
*/
-#ifndef _MATH_HH_
-#define _MATH_HH_
-
#include <cmath>
+#include <cml/cml.h>
+
+#include <iostream>
namespace dc {
-typedef double scalar; ///< Scalar variable.
+// Basic types.
+
+typedef float scalar; ///< Scalar type.
+
+typedef cml::vector2f vector2;
+typedef cml::vector3f vector3;
+typedef cml::vector4f vector4;
+typedef cml::matrix33f_c matrix3;
+typedef cml::matrix44f_c matrix4;
-// Here's a simple way to check the equality of floating-point variables more
-// reliably using approximation.
+typedef cml::quaternionf_p quaternion;
-const scalar default_epsilon = 0.00001; ///< @see equals()
+typedef vector4 color;
+const scalar default_epsilon = 0.00001;
+
/**
* Check the equality of scalars with a certain degree of error allowed.
*/
} // namespace dc
-
#endif // _MATH_HH_
+/** vim: set ts=4 sw=4 tw=80: *************************************************/
+