]> Dogcows Code - chaz/yoink/blob - src/Moof/cml/matrix.h
bugfix: win32 packaging script temp directories
[chaz/yoink] / src / Moof / cml / matrix.h
1 /* -*- C++ -*- ------------------------------------------------------------
2
3 Copyright (c) 2007 Jesse Anders and Demian Nave http://cmldev.net/
4
5 The Configurable Math Library (CML) is distributed under the terms of the
6 Boost Software License, v1.0 (see cml/LICENSE for details).
7
8 *-----------------------------------------------------------------------*/
9 /** @file
10 * @brief
11 *
12 * The configurable matrix<> class.
13 */
14
15 #ifndef cml_matrix_h
16 #define cml_matrix_h
17
18 #include <cml/core/common.h>
19
20 namespace cml {
21
22 /** A configurable matrix.
23 *
24 * This class encapsulates the notion of a matrix. The ArrayType template
25 * argument can be used to select the type of array to be used as internal
26 * storage for a 2D array of type Element.
27 *
28 * @internal Unlike the previous version, this uses specializations to better
29 * enable varied array and matrix types. For example, with the rebind method,
30 * it's difficult to support external<> matrix types that should not be
31 * assigned to.
32 *
33 * @internal All assignments to the matrix should go through UnrollAssignment,
34 * which ensures that the source expression and the destination matrix have
35 * the same size. This is particularly important for dynamically-sized
36 * matrices.
37 */
38 template<typename Element, class ArrayType,
39 typename BasisOrient = CML_DEFAULT_BASIS_ORIENTATION,
40 typename Layout = CML_DEFAULT_ARRAY_LAYOUT> class matrix;
41
42 } // namespace cml
43
44 #include <cml/matrix/matrix_ops.h>
45 #include <cml/matrix/matrix_transpose.h>
46 #include <cml/matrix/matrix_rowcol.h>
47 #include <cml/matrix/matrix_mul.h>
48 #include <cml/matvec/matvec_mul.h>
49 #include <cml/matrix/matrix_functions.h>
50 #include <cml/matrix/lu.h>
51 #include <cml/matrix/inverse.h>
52 #include <cml/matrix/determinant.h>
53 #include <cml/matrix/matrix_print.h>
54
55 #include <cml/matrix/fixed.h>
56 #include <cml/matrix/dynamic.h>
57 #include <cml/matrix/external.h>
58
59 #endif
60
61 // -------------------------------------------------------------------------
62 // vim:ft=cpp
This page took 0.031311 seconds and 4 git commands to generate.