From 9001f4a46b62344d9d0e589de1ad0e7b3413b479 Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Tue, 1 Sep 2015 22:29:17 +0200 Subject: Add missing specialization of evaluator of sub-sparse-matrices that can be seen as a SparseCompressedBase. This changeset enable faster iterator for such expressions. --- Eigen/src/SparseCore/SparseBlock.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'Eigen/src/SparseCore/SparseBlock.h') diff --git a/Eigen/src/SparseCore/SparseBlock.h b/Eigen/src/SparseCore/SparseBlock.h index b41e8f15d..333cc6655 100644 --- a/Eigen/src/SparseCore/SparseBlock.h +++ b/Eigen/src/SparseCore/SparseBlock.h @@ -535,6 +535,24 @@ public: inline operator bool() const { return m_outerPos < m_end; } }; +template +struct unary_evaluator,BlockRows,BlockCols,true>, IteratorBased> + : evaluator,BlockRows,BlockCols,true> > > +{ + typedef Block,BlockRows,BlockCols,true> XprType; + typedef evaluator > Base; + explicit unary_evaluator(const XprType &xpr) : Base(xpr) {} +}; + +template +struct unary_evaluator,BlockRows,BlockCols,true>, IteratorBased> + : evaluator,BlockRows,BlockCols,true> > > +{ + typedef Block,BlockRows,BlockCols,true> XprType; + typedef evaluator > Base; + explicit unary_evaluator(const XprType &xpr) : Base(xpr) {} +}; + } // end namespace internal -- cgit v1.2.3