aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/Sparse
blob: 96bd6141932d8bf0dd642fb0ebe646516a55097f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
#ifndef EIGEN_SPARSE_MODULE_H
#define EIGEN_SPARSE_MODULE_H

#include "Core"

#include "src/Core/util/DisableMSVCWarnings.h"

#include <vector>
#include <map>
#include <cstdlib>
#include <cstring>
#include <algorithm>

#ifdef EIGEN_GOOGLEHASH_SUPPORT
  #include <google/dense_hash_map>
#endif

#ifdef EIGEN_CHOLMOD_SUPPORT
  extern "C" {
    #include <cholmod.h>
  }
#endif

#ifdef EIGEN_TAUCS_SUPPORT
  // taucs.h declares a lot of mess
  #define isnan
  #define finite
  #define isinf
  extern "C" {
    #include <taucs.h>
  }
  #undef isnan
  #undef finite
  #undef isinf

  #ifdef min
    #undef min
  #endif
  #ifdef max
    #undef max
  #endif
  #ifdef complex
    #undef complex
  #endif
#endif

#ifdef EIGEN_SUPERLU_SUPPORT
  typedef int int_t;
  #include <slu_Cnames.h>
  #include <supermatrix.h>
  #include <slu_util.h>

  namespace SuperLU_S {
  #include <slu_sdefs.h>
  }
  namespace SuperLU_D {
  #include <slu_ddefs.h>
  }
  namespace SuperLU_C {
  #include <slu_cdefs.h>
  }
  namespace SuperLU_Z {
  #include <slu_zdefs.h>
  }
  namespace Eigen { struct SluMatrix; }
#endif

#ifdef EIGEN_UMFPACK_SUPPORT
  #include <umfpack.h>
#endif

namespace Eigen {

/** \defgroup Sparse_Module Sparse module
  *
  * \nonstableyet
  *
  * See the \ref TutorialSparse "Sparse tutorial"
  *
  * \code
  * #include <Eigen/QR>
  * \endcode
  */

#include "src/Sparse/SparseUtil.h"
#include "src/Sparse/SparseMatrixBase.h"
#include "src/Sparse/SparseNestByValue.h"
#include "src/Sparse/CompressedStorage.h"
#include "src/Sparse/AmbiVector.h"
#include "src/Sparse/RandomSetter.h"
#include "src/Sparse/SparseBlock.h"
#include "src/Sparse/SparseMatrix.h"
#include "src/Sparse/DynamicSparseMatrix.h"
#include "src/Sparse/MappedSparseMatrix.h"
#include "src/Sparse/SparseVector.h"
#include "src/Sparse/CoreIterators.h"
#include "src/Sparse/SparseTranspose.h"
#include "src/Sparse/SparseCwise.h"
#include "src/Sparse/SparseCwiseUnaryOp.h"
#include "src/Sparse/SparseCwiseBinaryOp.h"
#include "src/Sparse/SparseDot.h"
#include "src/Sparse/SparseAssign.h"
#include "src/Sparse/SparseRedux.h"
#include "src/Sparse/SparseFuzzy.h"
#include "src/Sparse/SparseFlagged.h"
#include "src/Sparse/SparseProduct.h"
#include "src/Sparse/SparseDiagonalProduct.h"
#include "src/Sparse/SparseTriangular.h"
#include "src/Sparse/TriangularSolver.h"
#include "src/Sparse/SparseLLT.h"
#include "src/Sparse/SparseLDLT.h"
#include "src/Sparse/SparseLU.h"
#include "src/Sparse/SparseExpressionMaker.h"

#ifdef EIGEN_CHOLMOD_SUPPORT
# include "src/Sparse/CholmodSupport.h"
#endif

#ifdef EIGEN_TAUCS_SUPPORT
# include "src/Sparse/TaucsSupport.h"
#endif

#ifdef EIGEN_SUPERLU_SUPPORT
# include "src/Sparse/SuperLUSupport.h"
#endif

#ifdef EIGEN_UMFPACK_SUPPORT
# include "src/Sparse/UmfPackSupport.h"
#endif

} // namespace Eigen

#include "src/Core/util/EnableMSVCWarnings.h"

#endif // EIGEN_SPARSE_MODULE_H