aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Sparse/SparseUtil.h
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2009-11-18 14:52:52 +0100
committerGravatar Gael Guennebaud <g.gael@free.fr>2009-11-18 14:52:52 +0100
commit0529ecfe1b43d40e40755a2d856188d3ded2c14e (patch)
tree8f3cebe51db62e2f65c48d547cc3e89de5285669 /Eigen/src/Sparse/SparseUtil.h
parent1e62e0b0d823078aa2d9b8ed2c93f7bc889df177 (diff)
Big refactoring/cleaning in the spasre module with
in particular the addition of a selfadjointView, and the extension of triangularView. The rest is cleaning and does not change/extend the API.
Diffstat (limited to 'Eigen/src/Sparse/SparseUtil.h')
-rw-r--r--Eigen/src/Sparse/SparseUtil.h30
1 files changed, 17 insertions, 13 deletions
diff --git a/Eigen/src/Sparse/SparseUtil.h b/Eigen/src/Sparse/SparseUtil.h
index b99be580c..6da1bee25 100644
--- a/Eigen/src/Sparse/SparseUtil.h
+++ b/Eigen/src/Sparse/SparseUtil.h
@@ -118,25 +118,29 @@ enum {
};
template<typename Derived> class SparseMatrixBase;
-template<typename _Scalar, int _Flags = 0> class SparseMatrix;
-template<typename _Scalar, int _Flags = 0> class DynamicSparseMatrix;
-template<typename _Scalar, int _Flags = 0> class SparseVector;
-template<typename _Scalar, int _Flags = 0> class MappedSparseMatrix;
-
-template<typename MatrixType> class SparseNestByValue;
-template<typename MatrixType, int Size> class SparseInnerVectorSet;
-template<typename ExpressionType,
- unsigned int Added, unsigned int Removed> class SparseFlagged;
-template<typename ExpressionType, int Mode> class SparseTriangular;
-template<typename Lhs, typename Rhs> class SparseDiagonalProduct;
+template<typename _Scalar, int _Flags = 0> class SparseMatrix;
+template<typename _Scalar, int _Flags = 0> class DynamicSparseMatrix;
+template<typename _Scalar, int _Flags = 0> class SparseVector;
+template<typename _Scalar, int _Flags = 0> class MappedSparseMatrix;
+
+template<typename MatrixType> class SparseNestByValue;
+template<typename MatrixType, int Size> class SparseInnerVectorSet;
+template<typename MatrixType, int Mode> class SparseTriangularView;
+template<typename MatrixType, unsigned int UpLo> class SparseSelfAdjointView;
+template<typename Lhs, typename Rhs> class SparseDiagonalProduct;
+
+
+template<typename Lhs, typename Rhs> class SparseProduct;
+template<typename Lhs, typename Rhs> class SparseTimeDenseProduct;
+template<typename Lhs, typename Rhs> class DenseTimeSparseProduct;
template<typename Lhs, typename Rhs,
typename LhsStorage = typename ei_traits<Lhs>::StorageType,
typename RhsStorage = typename ei_traits<Rhs>::StorageType> struct ei_sparse_product_mode;
-template<typename Lhs, typename Rhs, int ProductMode = ei_sparse_product_mode<Lhs,Rhs>::value> struct SparseProductReturnType;
+template<typename Lhs, typename Rhs> struct SparseProductReturnType;
-const int CoherentAccessPattern = 0x1;
+const int CoherentAccessPattern = 0x1;
const int InnerRandomAccessPattern = 0x2 | CoherentAccessPattern;
const int OuterRandomAccessPattern = 0x4 | CoherentAccessPattern;
const int RandomAccessPattern = 0x8 | OuterRandomAccessPattern | InnerRandomAccessPattern;