]> Dogcows Code - chaz/yoink/blobdiff - src/Moof/cml/mathlib/typedef.h
extreme refactoring
[chaz/yoink] / src / Moof / cml / mathlib / typedef.h
diff --git a/src/Moof/cml/mathlib/typedef.h b/src/Moof/cml/mathlib/typedef.h
new file mode 100644 (file)
index 0000000..f34843e
--- /dev/null
@@ -0,0 +1,108 @@
+/* -*- C++ -*- ------------------------------------------------------------
+Copyright (c) 2007 Jesse Anders and Demian Nave http://cmldev.net/
+
+The Configurable Math Library (CML) is distributed under the terms of the
+Boost Software License, v1.0 (see cml/LICENSE for details).
+
+ *-----------------------------------------------------------------------*/
+/** @file
+ *  @brief
+ */
+
+#ifndef typedef_h
+#define typedef_h
+
+#include <cml/vector.h>
+#include <cml/matrix.h>
+#include <cml/quaternion.h>
+#include <cml/constants.h>
+#include <cml/mathlib/epsilon.h>
+
+namespace cml {
+
+/* fixed-size vectors */
+typedef vector< int,    fixed<2> > vector2i;
+typedef vector< float,  fixed<2> > vector2f;
+typedef vector< double, fixed<2> > vector2d;
+
+typedef vector< int,    fixed<3> > vector3i;
+typedef vector< float,  fixed<3> > vector3f;
+typedef vector< double, fixed<3> > vector3d;
+
+typedef vector< int,    fixed<4> > vector4i;
+typedef vector< float,  fixed<4> > vector4f;
+typedef vector< double, fixed<4> > vector4d;
+
+/* fixed-size matrices */
+typedef matrix< int,    fixed<2,2>, row_basis, row_major > matrix22i_r;
+typedef matrix< int,    fixed<2,2>, col_basis, col_major > matrix22i_c;
+typedef matrix< float,  fixed<2,2>, row_basis, row_major > matrix22f_r;
+typedef matrix< float,  fixed<2,2>, col_basis, col_major > matrix22f_c;
+typedef matrix< double, fixed<2,2>, row_basis, row_major > matrix22d_r;
+typedef matrix< double, fixed<2,2>, col_basis, col_major > matrix22d_c;
+
+typedef matrix< int,    fixed<3,3>, row_basis, row_major > matrix33i_r;
+typedef matrix< int,    fixed<3,3>, col_basis, col_major > matrix33i_c;
+typedef matrix< float,  fixed<3,3>, row_basis, row_major > matrix33f_r;
+typedef matrix< float,  fixed<3,3>, col_basis, col_major > matrix33f_c;
+typedef matrix< double, fixed<3,3>, row_basis, row_major > matrix33d_r;
+typedef matrix< double, fixed<3,3>, col_basis, col_major > matrix33d_c;
+
+typedef matrix< int,    fixed<4,4>, row_basis, row_major > matrix44i_r;
+typedef matrix< int,    fixed<4,4>, col_basis, col_major > matrix44i_c;
+typedef matrix< float,  fixed<4,4>, row_basis, row_major > matrix44f_r;
+typedef matrix< float,  fixed<4,4>, col_basis, col_major > matrix44f_c;
+typedef matrix< double, fixed<4,4>, row_basis, row_major > matrix44d_r;
+typedef matrix< double, fixed<4,4>, col_basis, col_major > matrix44d_c;
+
+typedef matrix< int,    fixed<3,2>, row_basis, row_major > matrix32i_r;
+typedef matrix< float,  fixed<3,2>, row_basis, row_major > matrix32f_r;
+typedef matrix< double, fixed<3,2>, row_basis, row_major > matrix32d_r;
+
+typedef matrix< int,    fixed<2,3>, col_basis, col_major > matrix23i_c;
+typedef matrix< float,  fixed<2,3>, col_basis, col_major > matrix23f_c;
+typedef matrix< double, fixed<2,3>, col_basis, col_major > matrix23d_c;
+
+typedef matrix< int,    fixed<4,3>, row_basis, row_major > matrix43i_r;
+typedef matrix< float,  fixed<4,3>, row_basis, row_major > matrix43f_r;
+typedef matrix< double, fixed<4,3>, row_basis, row_major > matrix43d_r;
+
+typedef matrix< int,    fixed<3,4>, col_basis, col_major > matrix34i_c;
+typedef matrix< float,  fixed<3,4>, col_basis, col_major > matrix34f_c;
+typedef matrix< double, fixed<3,4>, col_basis, col_major > matrix34d_c;
+
+/* quaternions */
+typedef quaternion<float, fixed<>,vector_first,negative_cross>
+    quaternionf_n;
+typedef quaternion<float, fixed<>,vector_first,positive_cross>
+    quaternionf_p;
+typedef quaternion<double,fixed<>,vector_first,negative_cross>
+    quaterniond_n;
+typedef quaternion<double,fixed<>,vector_first,positive_cross>
+    quaterniond_p;
+
+/* dynamically resizable vectors */
+typedef vector< int,    dynamic<> > vectori;
+typedef vector< float,  dynamic<> > vectorf;
+typedef vector< double, dynamic<> > vectord;
+
+/* dynamically resizable matrices */
+typedef matrix< int,    dynamic<>, row_basis, row_major > matrixi_r;
+typedef matrix< int,    dynamic<>, col_basis, col_major > matrixi_c;
+typedef matrix< float,  dynamic<>, row_basis, row_major > matrixf_r;
+typedef matrix< float,  dynamic<>, col_basis, col_major > matrixf_c;
+typedef matrix< double, dynamic<>, row_basis, row_major > matrixd_r;
+typedef matrix< double, dynamic<>, col_basis, col_major > matrixd_c;
+
+/* constants */
+typedef constants<float>  constantsf;
+typedef constants<double> constantsd;
+
+/* epsilon/tolerance values (placeholder) */
+typedef epsilon<float>  epsilonf;
+typedef epsilon<double> epsilond;
+
+} // namespace cml
+
+#endif
This page took 0.019413 seconds and 4 git commands to generate.