mirror of
https://gitlab.com/libeigen/eigen.git
synced 2026-04-10 11:34:33 +08:00
split the Sparse module into multiple ones, and move non stable parts to unsupported/
(see the ML for details)
This commit is contained in:
@@ -75,34 +75,10 @@ EIGEN_SPARSE_INHERIT_SCALAR_ASSIGNMENT_OPERATOR(Derived, /=)
|
||||
#define EIGEN_SPARSE_PUBLIC_INTERFACE(Derived) \
|
||||
_EIGEN_SPARSE_PUBLIC_INTERFACE(Derived, Eigen::SparseMatrixBase<Derived>)
|
||||
|
||||
enum SparseBackend {
|
||||
DefaultBackend,
|
||||
Taucs,
|
||||
Cholmod,
|
||||
SuperLU,
|
||||
UmfPack
|
||||
};
|
||||
|
||||
// solver flags
|
||||
enum {
|
||||
CompleteFactorization = 0x0000, // the default
|
||||
IncompleteFactorization = 0x0001,
|
||||
MemoryEfficient = 0x0002,
|
||||
|
||||
// For LLT Cholesky:
|
||||
SupernodalMultifrontal = 0x0010,
|
||||
SupernodalLeftLooking = 0x0020,
|
||||
|
||||
// Ordering methods:
|
||||
NaturalOrdering = 0x0100, // the default
|
||||
MinimumDegree_AT_PLUS_A = 0x0200,
|
||||
MinimumDegree_ATA = 0x0300,
|
||||
ColApproxMinimumDegree = 0x0400,
|
||||
Metis = 0x0500,
|
||||
Scotch = 0x0600,
|
||||
Chaco = 0x0700,
|
||||
OrderingMask = 0x0f00
|
||||
};
|
||||
const int CoherentAccessPattern = 0x1;
|
||||
const int InnerRandomAccessPattern = 0x2 | CoherentAccessPattern;
|
||||
const int OuterRandomAccessPattern = 0x4 | CoherentAccessPattern;
|
||||
const int RandomAccessPattern = 0x8 | OuterRandomAccessPattern | InnerRandomAccessPattern;
|
||||
|
||||
template<typename Derived> class SparseMatrixBase;
|
||||
template<typename _Scalar, int _Flags = 0, typename _Index = int> class SparseMatrix;
|
||||
@@ -126,11 +102,6 @@ template<typename Lhs, typename Rhs,
|
||||
|
||||
template<typename Lhs, typename Rhs> struct SparseProductReturnType;
|
||||
|
||||
const int CoherentAccessPattern = 0x1;
|
||||
const int InnerRandomAccessPattern = 0x2 | CoherentAccessPattern;
|
||||
const int OuterRandomAccessPattern = 0x4 | CoherentAccessPattern;
|
||||
const int RandomAccessPattern = 0x8 | OuterRandomAccessPattern | InnerRandomAccessPattern;
|
||||
|
||||
template<typename T> struct ei_eval<T,Sparse>
|
||||
{
|
||||
typedef typename ei_traits<T>::Scalar _Scalar;
|
||||
|
||||
Reference in New Issue
Block a user