Merge of itasc branch. Project files, scons and cmake should be working. Makefile...
[blender.git] / extern / Eigen2 / Eigen / Sparse
1 #ifndef EIGEN_SPARSE_MODULE_H
2 #define EIGEN_SPARSE_MODULE_H
3
4 #include "Core"
5
6 #include "src/Core/util/DisableMSVCWarnings.h"
7
8 #include <vector>
9 #include <map>
10 #include <cstdlib>
11 #include <cstring>
12 #include <algorithm>
13
14 #ifdef EIGEN_GOOGLEHASH_SUPPORT
15   #include <google/dense_hash_map>
16 #endif
17
18 #ifdef EIGEN_CHOLMOD_SUPPORT
19   extern "C" {
20     #include "cholmod.h"
21   }
22 #endif
23
24 #ifdef EIGEN_TAUCS_SUPPORT
25   // taucs.h declares a lot of mess
26   #define isnan
27   #define finite
28   #define isinf
29   extern "C" {
30     #include "taucs.h"
31   }
32   #undef isnan
33   #undef finite
34   #undef isinf
35
36   #ifdef min
37     #undef min
38   #endif
39   #ifdef max
40     #undef max
41   #endif
42   #ifdef complex
43     #undef complex
44   #endif
45 #endif
46
47 #ifdef EIGEN_SUPERLU_SUPPORT
48   typedef int int_t;
49   #include "superlu/slu_Cnames.h"
50   #include "superlu/supermatrix.h"
51   #include "superlu/slu_util.h"
52
53   namespace SuperLU_S {
54   #include "superlu/slu_sdefs.h"
55   }
56   namespace SuperLU_D {
57   #include "superlu/slu_ddefs.h"
58   }
59   namespace SuperLU_C {
60   #include "superlu/slu_cdefs.h"
61   }
62   namespace SuperLU_Z {
63   #include "superlu/slu_zdefs.h"
64   }
65   namespace Eigen { struct SluMatrix; }
66 #endif
67
68 #ifdef EIGEN_UMFPACK_SUPPORT
69   #include "umfpack.h"
70 #endif
71
72 namespace Eigen {
73
74 /** \defgroup Sparse_Module Sparse module
75   *
76   * \nonstableyet
77   *
78   * See the \ref TutorialSparse "Sparse tutorial"
79   *
80   * \code
81   * #include <Eigen/QR>
82   * \endcode
83   */
84
85 #include "src/Sparse/SparseUtil.h"
86 #include "src/Sparse/SparseMatrixBase.h"
87 #include "src/Sparse/CompressedStorage.h"
88 #include "src/Sparse/AmbiVector.h"
89 #include "src/Sparse/RandomSetter.h"
90 #include "src/Sparse/SparseBlock.h"
91 #include "src/Sparse/SparseMatrix.h"
92 #include "src/Sparse/DynamicSparseMatrix.h"
93 #include "src/Sparse/MappedSparseMatrix.h"
94 #include "src/Sparse/SparseVector.h"
95 #include "src/Sparse/CoreIterators.h"
96 #include "src/Sparse/SparseTranspose.h"
97 #include "src/Sparse/SparseCwise.h"
98 #include "src/Sparse/SparseCwiseUnaryOp.h"
99 #include "src/Sparse/SparseCwiseBinaryOp.h"
100 #include "src/Sparse/SparseDot.h"
101 #include "src/Sparse/SparseAssign.h"
102 #include "src/Sparse/SparseRedux.h"
103 #include "src/Sparse/SparseFuzzy.h"
104 #include "src/Sparse/SparseFlagged.h"
105 #include "src/Sparse/SparseProduct.h"
106 #include "src/Sparse/SparseDiagonalProduct.h"
107 #include "src/Sparse/TriangularSolver.h"
108 #include "src/Sparse/SparseLLT.h"
109 #include "src/Sparse/SparseLDLT.h"
110 #include "src/Sparse/SparseLU.h"
111
112 #ifdef EIGEN_CHOLMOD_SUPPORT
113 # include "src/Sparse/CholmodSupport.h"
114 #endif
115
116 #ifdef EIGEN_TAUCS_SUPPORT
117 # include "src/Sparse/TaucsSupport.h"
118 #endif
119
120 #ifdef EIGEN_SUPERLU_SUPPORT
121 # include "src/Sparse/SuperLUSupport.h"
122 #endif
123
124 #ifdef EIGEN_UMFPACK_SUPPORT
125 # include "src/Sparse/UmfPackSupport.h"
126 #endif
127
128 } // namespace Eigen
129
130 #include "src/Core/util/EnableMSVCWarnings.h"
131
132 #endif // EIGEN_SPARSE_MODULE_H