diff options
Diffstat (limited to 'Eigen/src/Core')
-rw-r--r-- | Eigen/src/Core/Block.h | 5 | ||||
-rw-r--r-- | Eigen/src/Core/MatrixBase.h | 2 | ||||
-rw-r--r-- | Eigen/src/Core/util/Constants.h | 3 | ||||
-rw-r--r-- | Eigen/src/Core/util/ForwardDeclarations.h | 3 |
4 files changed, 10 insertions, 3 deletions
diff --git a/Eigen/src/Core/Block.h b/Eigen/src/Core/Block.h index 11583d042..18fcdbb2b 100644 --- a/Eigen/src/Core/Block.h +++ b/Eigen/src/Core/Block.h @@ -65,6 +65,8 @@ template<typename MatrixType, int BlockRows, int BlockCols, int _PacketAccess, i struct ei_traits<Block<MatrixType, BlockRows, BlockCols, _PacketAccess, _DirectAccessStatus> > { typedef typename MatrixType::Scalar Scalar; + typedef typename MatrixType::Nested MatrixTypeNested; + typedef typename ei_unref<MatrixTypeNested>::type _MatrixTypeNested; enum{ RowsAtCompileTime = MatrixType::RowsAtCompileTime == 1 ? 1 : BlockRows, ColsAtCompileTime = MatrixType::ColsAtCompileTime == 1 ? 1 : BlockCols, @@ -94,6 +96,8 @@ template<typename MatrixType, int BlockRows, int BlockCols, int PacketAccess, in EIGEN_GENERIC_PUBLIC_INTERFACE(Block) + class InnerIterator; + /** Column or Row constructor */ inline Block(const MatrixType& matrix, int i) @@ -217,6 +221,7 @@ class Block<MatrixType,BlockRows,BlockCols,PacketAccess,HasDirectAccess> _EIGEN_GENERIC_PUBLIC_INTERFACE(Block, MapBase<Block>) + class InnerIterator; typedef typename ei_traits<Block>::AlignedDerivedType AlignedDerivedType; EIGEN_INHERIT_ASSIGNMENT_OPERATORS(Block) diff --git a/Eigen/src/Core/MatrixBase.h b/Eigen/src/Core/MatrixBase.h index dbb481914..4248ae523 100644 --- a/Eigen/src/Core/MatrixBase.h +++ b/Eigen/src/Core/MatrixBase.h @@ -155,7 +155,7 @@ template<typename Derived> class MatrixBase /** \returns the number of rows. \sa cols(), RowsAtCompileTime */ inline int rows() const { return derived().rows(); } - /** \returns the number of columns. \sa row(), ColsAtCompileTime*/ + /** \returns the number of columns. \sa rows(), ColsAtCompileTime*/ inline int cols() const { return derived().cols(); } /** \returns the number of coefficients, which is \a rows()*cols(). * \sa rows(), cols(), SizeAtCompileTime. */ diff --git a/Eigen/src/Core/util/Constants.h b/Eigen/src/Core/util/Constants.h index 9576ac6d8..d08af60e0 100644 --- a/Eigen/src/Core/util/Constants.h +++ b/Eigen/src/Core/util/Constants.h @@ -211,7 +211,8 @@ enum { enum { NoDirectAccess = 0, - HasDirectAccess = DirectAccessBit + HasDirectAccess = DirectAccessBit, + IsSparse = SparseBit }; const int FullyCoherentAccessPattern = 0x1; diff --git a/Eigen/src/Core/util/ForwardDeclarations.h b/Eigen/src/Core/util/ForwardDeclarations.h index fca47bad4..92852cbfa 100644 --- a/Eigen/src/Core/util/ForwardDeclarations.h +++ b/Eigen/src/Core/util/ForwardDeclarations.h @@ -36,7 +36,8 @@ template<typename ExpressionType> class NestByValue; template<typename ExpressionType> class SwapWrapper; template<typename MatrixType> class Minor; template<typename MatrixType, int BlockRows=Dynamic, int BlockCols=Dynamic, int PacketAccess=AsRequested, - int _DirectAccessStatus = ei_traits<MatrixType>::Flags&DirectAccessBit> class Block; + int _DirectAccessStatus = ei_traits<MatrixType>::Flags&DirectAccessBit ? DirectAccessBit + : ei_traits<MatrixType>::Flags&SparseBit> class Block; template<typename MatrixType> class Transpose; template<typename MatrixType> class Conjugate; template<typename NullaryOp, typename MatrixType> class CwiseNullaryOp; |