diff options
author | Gael Guennebaud <g.gael@free.fr> | 2014-07-22 11:35:56 +0200 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2014-07-22 11:35:56 +0200 |
commit | 6daa6a0d164ac3c225645e47f55238e9ba2a32cc (patch) | |
tree | 316255fb310c4e5f4583eeb89eca63127efc92c2 /Eigen/src/SparseCore/SparseUtil.h | |
parent | 2a251ffab0f3abd1fcfe340a4bee61e352d83424 (diff) |
Refactor TriangularView to handle both dense and sparse objects. Introduce a glu_shape<S1,S2> helper to assemble sparse/dense shapes with triagular/seladjoint views.
Diffstat (limited to 'Eigen/src/SparseCore/SparseUtil.h')
-rw-r--r-- | Eigen/src/SparseCore/SparseUtil.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/Eigen/src/SparseCore/SparseUtil.h b/Eigen/src/SparseCore/SparseUtil.h index 6e1db0ce8..686be6c92 100644 --- a/Eigen/src/SparseCore/SparseUtil.h +++ b/Eigen/src/SparseCore/SparseUtil.h @@ -94,7 +94,6 @@ template<typename _Scalar, int _Flags = 0, typename _Index = int> class Dynamic template<typename _Scalar, int _Flags = 0, typename _Index = int> class SparseVector; template<typename _Scalar, int _Flags = 0, typename _Index = int> class MappedSparseMatrix; -template<typename MatrixType, int Mode> class SparseTriangularView; template<typename MatrixType, unsigned int UpLo> class SparseSelfAdjointView; template<typename Lhs, typename Rhs> class SparseDiagonalProduct; template<typename MatrixType> class SparseView; @@ -163,6 +162,12 @@ struct generic_xpr_base<Derived, MatrixXpr, Sparse> typedef SparseMatrixBase<Derived> type; }; +struct SparseTriangularShape { static std::string debugName() { return "SparseTriangularShape"; } }; +struct SparseSelfAdjointShape { static std::string debugName() { return "SparseSelfAdjointShape"; } }; + +template<> struct glue_shapes<SparseShape,SelfAdjointShape> { typedef SparseSelfAdjointShape type; }; +template<> struct glue_shapes<SparseShape,TriangularShape > { typedef SparseTriangularShape type; }; + } // end namespace internal /** \ingroup SparseCore_Module |