Base class providing direct read-only coefficient access to matrices and arrays. More...
#include <DenseCoeffsBase.h>
Public Types | |
typedef DenseCoeffsBase < Derived, ReadOnlyAccessors > | Base |
typedef internal::conditional < bool(internal::traits < Derived >::Flags &LvalueBit), const Scalar &, typename internal::conditional < internal::is_arithmetic < Scalar >::value, Scalar, const Scalar >::type >::type | CoeffReturnType |
typedef internal::traits < Derived >::Index | Index |
typedef internal::add_const_on_value_type_if_arithmetic < typename internal::packet_traits < Scalar >::type >::type | PacketReturnType |
typedef internal::packet_traits < Scalar >::type | PacketScalar |
typedef NumTraits< Scalar >::Real | RealScalar |
typedef internal::traits < Derived >::Scalar | Scalar |
typedef internal::traits < Derived >::StorageKind | StorageKind |
Public Member Functions | |
template<typename Dest > | |
void | addTo (Dest &dst) const |
template<typename Dest > | |
void | applyThisOnTheLeft (Dest &dst) const |
template<typename Dest > | |
void | applyThisOnTheRight (Dest &dst) const |
CoeffReturnType | coeff (Index row, Index col) const |
CoeffReturnType | coeff (Index index) const |
CoeffReturnType | coeffByOuterInner (Index outer, Index inner) const |
Index | colIndexByOuterInner (Index outer, Index inner) const |
Index | cols () const |
Index | colStride () const |
Derived & | const_cast_derived () const |
const Derived & | const_derived () const |
Derived & | derived () |
const Derived & | derived () const |
template<typename Dest > | |
void | evalTo (Dest &dst) const |
Index | innerStride () const |
CoeffReturnType | operator() (Index row, Index col) const |
CoeffReturnType | operator() (Index index) const |
CoeffReturnType | operator[] (Index index) const |
Index | outerStride () const |
template<int LoadMode> | |
PacketReturnType | packet (Index row, Index col) const |
template<int LoadMode> | |
PacketReturnType | packet (Index index) const |
template<int LoadMode> | |
PacketReturnType | packetByOuterInner (Index outer, Index inner) const |
Index | rowIndexByOuterInner (Index outer, Index inner) const |
Index | rows () const |
Index | rowStride () const |
Index | size () const |
Index | stride () const |
template<typename Dest > | |
void | subTo (Dest &dst) const |
CoeffReturnType | w () const |
CoeffReturnType | x () const |
CoeffReturnType | y () const |
CoeffReturnType | z () const |
Protected Member Functions | |
void | coeffRef () |
void | coeffRefByOuterInner () |
void | colStride () |
void | copyCoeff () |
void | copyCoeffByOuterInner () |
void | copyPacket () |
void | copyPacketByOuterInner () |
void | innerStride () |
void | outerStride () |
void | rowStride () |
void | stride () |
void | writePacket () |
void | writePacketByOuterInner () |
Base class providing direct read-only coefficient access to matrices and arrays.
Derived | Type of the derived class |
DirectAccessors | Constant indicating direct access |
This class defines functions to work with strides which can be used to access entries directly. This class inherits DenseCoeffsBase<Derived, ReadOnlyAccessors> which defines functions to access entries read-only using operator()
.
typedef DenseCoeffsBase<Derived, ReadOnlyAccessors> Base |
Reimplemented from DenseCoeffsBase< Derived, ReadOnlyAccessors >.
typedef internal::conditional<bool(internal::traits<Derived>::Flags&LvalueBit), const Scalar&, typename internal::conditional<internal::is_arithmetic<Scalar>::value, Scalar, const Scalar>::type >::type CoeffReturnType [inherited] |
Reimplemented from DenseCoeffsBase< Derived, ReadOnlyAccessors >.
typedef internal::add_const_on_value_type_if_arithmetic< typename internal::packet_traits<Scalar>::type >::type PacketReturnType [inherited] |
typedef internal::packet_traits<Scalar>::type PacketScalar [inherited] |
Reimplemented in DenseCoeffsBase< Derived, WriteAccessors >.
typedef NumTraits<Scalar>::Real RealScalar |
Reimplemented from DenseCoeffsBase< Derived, ReadOnlyAccessors >.
typedef internal::traits<Derived>::StorageKind StorageKind [inherited] |
Reimplemented from EigenBase< Derived >.
Reimplemented in DenseCoeffsBase< Derived, WriteAccessors >.
void addTo | ( | Dest & | dst | ) | const [inline, inherited] |
void applyThisOnTheLeft | ( | Dest & | dst | ) | const [inline, inherited] |
Reimplemented in HouseholderSequence< VectorsType, CoeffsType, Side >.
void applyThisOnTheRight | ( | Dest & | dst | ) | const [inline, inherited] |
Reimplemented in HouseholderSequence< VectorsType, CoeffsType, Side >.
CoeffReturnType coeff | ( | Index | row, |
Index | col | ||
) | const [inline, inherited] |
Short version: don't use this function, use operator()(Index,Index) const instead.
Long version: this function is similar to operator()(Index,Index) const , but without the assertion. Use this for limiting the performance cost of debugging code when doing repeated coefficient access. Only use this when it is guaranteed that the parameters row and col are in range.
If EIGEN_INTERNAL_DEBUGGING is defined, an assertion will be made, making this function equivalent to operator()(Index,Index) const .
References eigen_internal_assert.
CoeffReturnType coeff | ( | Index | index | ) | const [inline, inherited] |
Short version: don't use this function, use operator[](Index) const instead.
Long version: this function is similar to operator[](Index) const , but without the assertion. Use this for limiting the performance cost of debugging code when doing repeated coefficient access. Only use this when it is guaranteed that the parameter index is in range.
If EIGEN_INTERNAL_DEBUGGING is defined, an assertion will be made, making this function equivalent to operator[](Index) const .
References eigen_internal_assert.
CoeffReturnType coeffByOuterInner | ( | Index | outer, |
Index | inner | ||
) | const [inline, inherited] |
void coeffRef | ( | ) | [protected, inherited] |
void coeffRefByOuterInner | ( | ) | [protected, inherited] |
Index colIndexByOuterInner | ( | Index | outer, |
Index | inner | ||
) | const [inline, inherited] |
References Eigen::RowMajorBit.
Reimplemented in Transpose< PermutationBase< Derived > >, SparseSymmetricPermutationProduct< MatrixType, UpLo >, SparseInnerVectorSet< SparseMatrix< _Scalar, _Options, _Index >, Size >, TriangularView< _MatrixType, _Mode >, HouseholderSequence< VectorsType, CoeffsType, Side >, SparseMatrixBase< Derived >, SparseMatrixBase< SparseMatrix< Scalar, _Options, int > >, SparseMatrixBase< SparseInnerVectorSet< SparseMatrix< _Scalar, _Options, _Index >, Size > >, SparseMatrixBase< CwiseUnaryOp< UnaryOp, MatrixType > >, SparseMatrixBase< Transpose< MatrixType > >, SparseMatrixBase< SparseDiagonalProduct< Lhs, Rhs > >, SparseMatrixBase< SparseMatrix< Scalar, _Options, _Index > >, SparseMatrixBase< CwiseUnaryView< ViewOp, MatrixType > >, SparseMatrixBase< SparseMatrix< _Scalar, _Options, _Index > >, SparseMatrixBase< SparseDenseOuterProduct< Lhs, Rhs, Tr > >, SparseMatrixBase< SparseInnerVectorSet< MatrixType, Size > >, SparseMatrixBase< MappedSparseMatrix< _Scalar, _Flags, _Index > >, SparseMatrixBase< SparseSparseProduct< LhsNested, RhsNested > >, SparseMatrixBase< SparseMatrix< Scalar, _Options, Index > >, SparseMatrixBase< SparseTriangularView< MatrixType, Mode > >, SparseMatrixBase< SparseVector< _Scalar, _Options, _Index > >, SparseMatrixBase< SparseView< MatrixType > >, SparseMatrixBase< CwiseBinaryOp< BinaryOp, Lhs, Rhs > >, SparseSparseProduct< LhsNested, RhsNested >, SparseMatrix< _Scalar, _Options, _Index >, SparseMatrix< Scalar >, SparseMatrix< Scalar, ColMajor, Index >, SparseMatrix< Scalar, ColMajor >, SparseMatrix< Scalar, ColMajor, int >, SparseMatrix< Scalar, RowMajor, Index >, SparseMatrix< Scalar, RowMajor >, PermutationBase< Derived >, PermutationBase< PermutationWrapper< _IndicesType > >, PermutationBase< Map< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType >, _PacketAccess > >, PermutationBase< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType > >, PermutationBase< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, Index > >, SparseDenseOuterProduct< Lhs, Rhs, Tr >, SparseInnerVectorSet< MatrixType, Size >, SparseDiagonalProduct< Lhs, Rhs >, SparseVector< _Scalar, _Options, _Index >, SelfAdjointView< MatrixType, UpLo >, SparseSelfAdjointView< MatrixType, UpLo >, TriangularBase< Derived >, MappedSparseMatrix< _Scalar, _Flags, _Index >, TriangularBase< TriangularView< _MatrixType, _Mode > >, TriangularBase< SelfAdjointView< MatrixType, UpLo > >, SparseView< MatrixType >, and SparseTriangularView< MatrixType, Mode >.
Referenced by PlainObjectBase< Matrix< int, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >::_resize_to_match(), EigenBase< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, Index > >::addTo(), Array< Index, 64, 1 >::Array(), Matrix< Index, 1, ColsAtCompileTime, RowMajor, 1, MaxColsAtCompileTime >::Matrix(), EigenBase< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, Index > >::size(), and EigenBase< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, Index > >::subTo().
void colStride | ( | ) | [protected, inherited] |
Derived& const_cast_derived | ( | ) | const [inline, inherited] |
const Derived& const_derived | ( | ) | const [inline, inherited] |
void copyCoeff | ( | ) | [protected, inherited] |
void copyCoeffByOuterInner | ( | ) | [protected, inherited] |
void copyPacket | ( | ) | [protected, inherited] |
void copyPacketByOuterInner | ( | ) | [protected, inherited] |
Derived& derived | ( | ) | [inline, inherited] |
Referenced by MatrixBase< Derived >::applyOnTheLeft(), MatrixBase< Derived >::applyOnTheRight(), EigenBase< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, Index > >::applyThisOnTheLeft(), EigenBase< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, Index > >::applyThisOnTheRight(), PermutationBase< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, Index > >::applyTranspositionOnTheLeft(), PermutationBase< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, Index > >::applyTranspositionOnTheRight(), SparseMatrixBase< CwiseBinaryOp< BinaryOp, Lhs, Rhs > >::assign(), SparseVector< _Scalar, _Options, _Index >::assign(), SparseMatrixBase< CwiseBinaryOp< BinaryOp, Lhs, Rhs > >::assignGeneric(), SparseMatrixBase< CwiseBinaryOp< BinaryOp, Lhs, Rhs > >::binaryExpr(), TriangularBase< SelfAdjointView< MatrixType, UpLo > >::coeff(), TriangularBase< SelfAdjointView< MatrixType, UpLo > >::coeffRef(), EigenBase< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, Index > >::cols(), TriangularBase< SelfAdjointView< MatrixType, UpLo > >::cols(), SparseMatrixBase< CwiseBinaryOp< BinaryOp, Lhs, Rhs > >::cols(), TriangularBase< SelfAdjointView< MatrixType, UpLo > >::copyCoeff(), SparseMatrixBase< Derived >::dot(), SparseMatrixBase< CwiseBinaryOp< BinaryOp, Lhs, Rhs > >::eval(), EigenBase< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, Index > >::evalTo(), SparseMatrixBase< CwiseBinaryOp< BinaryOp, Lhs, Rhs > >::evalTo(), PermutationBase< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, Index > >::indices(), TriangularBase< SelfAdjointView< MatrixType, UpLo > >::innerStride(), PermutationBase< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, Index > >::inverse(), TriangularView< _MatrixType, _Mode >::lazyAssign(), SluMatrix::Map(), SparseMatrixBase< CwiseBinaryOp< BinaryOp, Lhs, Rhs > >::markAsRValue(), SparseMatrixBase< CwiseBinaryOp< BinaryOp, Lhs, Rhs > >::nonZeros(), RotationBase< Derived, 3 >::operator*(), Translation< _Scalar, _Dim >::operator*(), PermutationBase< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, Index > >::operator*(), SparseMatrixBase< Derived >::operator*(), Transform< _Scalar, _Dim, _Mode, _Options >::operator*(), Eigen::operator*(), MatrixBase< Derived >::operator*=(), DenseBase< Derived >::operator+=(), SparseMatrixBase< Derived >::operator+=(), DenseBase< Derived >::operator-=(), SparseMatrixBase< Derived >::operator-=(), PermutationBase< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, Index > >::operator=(), MatrixBase< Derived >::operator=(), SparseMatrixBase< CwiseBinaryOp< BinaryOp, Lhs, Rhs > >::operator=(), TriangularView< _MatrixType, _Mode >::operator=(), DenseBase< Derived >::operator=(), Transform< _Scalar, _Dim, _Mode, _Options >::operator=(), Map< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType >, _PacketAccess >::operator=(), PlainObjectBase< Matrix< int, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >::operator=(), SparseMatrix< Scalar, RowMajor >::operator=(), TriangularBase< SelfAdjointView< MatrixType, UpLo > >::outerStride(), PlainObjectBase< Matrix< int, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >::PlainObjectBase(), PlainObjectBase< Matrix< int, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >::resizeLike(), EigenBase< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, Index > >::rows(), TriangularBase< SelfAdjointView< MatrixType, UpLo > >::rows(), SparseMatrixBase< CwiseBinaryOp< BinaryOp, Lhs, Rhs > >::rows(), SimplicialCholeskyBase< SimplicialLDLT< _MatrixType, _UpLo > >::solve(), PardisoImpl< PardisoLU< MatrixType > >::solve(), IterativeSolverBase< ConjugateGradient< _MatrixType, _UpLo, _Preconditioner > >::solve(), CholmodBase< _MatrixType, _UpLo, CholmodSimplicialLLT< _MatrixType, _UpLo > >::solve(), PastixBase< PastixLU< _MatrixType > >::solve(), SparseTriangularView< MatrixType, Mode >::solveInPlace(), SparseMatrix< Scalar, RowMajor >::SparseMatrix(), SparseVector< _Scalar, _Options, _Index >::SparseVector(), TriangularView< _MatrixType, _Mode >::swap(), SparseMatrixBase< CwiseBinaryOp< BinaryOp, Lhs, Rhs > >::toDense(), PermutationBase< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, Index > >::toDenseMatrix(), Transform< _Scalar, _Dim, _Mode, _Options >::Transform(), PermutationBase< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, Index > >::transpose(), SparseMatrixBase< CwiseBinaryOp< BinaryOp, Lhs, Rhs > >::transpose(), and SparseMatrixBase< CwiseBinaryOp< BinaryOp, Lhs, Rhs > >::twistedBy().
const Derived& derived | ( | ) | const [inline, inherited] |
void evalTo | ( | Dest & | dst | ) | const [inline, inherited] |
void innerStride | ( | ) | [protected, inherited] |
Index innerStride | ( | ) | const [inline] |
CoeffReturnType operator() | ( | Index | row, |
Index | col | ||
) | const [inline, inherited] |
CoeffReturnType operator() | ( | Index | index | ) | const [inline, inherited] |
This is synonymous to operator[](Index) const.
This method is allowed only for vector expressions, and for matrix expressions having the LinearAccessBit.
CoeffReturnType operator[] | ( | Index | index | ) | const [inline, inherited] |
This method is allowed only for vector expressions, and for matrix expressions having the LinearAccessBit.
References EIGEN_STATIC_ASSERT.
void outerStride | ( | ) | [protected, inherited] |
Index outerStride | ( | ) | const [inline] |
PacketReturnType packet | ( | Index | row, |
Index | col | ||
) | const [inline, inherited] |
References col(), eigen_internal_assert, and row().
PacketReturnType packet | ( | Index | index | ) | const [inline, inherited] |
References eigen_internal_assert.
PacketReturnType packetByOuterInner | ( | Index | outer, |
Index | inner | ||
) | const [inline, inherited] |
Index rowIndexByOuterInner | ( | Index | outer, |
Index | inner | ||
) | const [inline, inherited] |
References Eigen::RowMajorBit.
Reimplemented in Transpose< PermutationBase< Derived > >, SparseSymmetricPermutationProduct< MatrixType, UpLo >, SparseInnerVectorSet< SparseMatrix< _Scalar, _Options, _Index >, Size >, TriangularView< _MatrixType, _Mode >, HouseholderSequence< VectorsType, CoeffsType, Side >, SparseMatrixBase< Derived >, SparseMatrixBase< SparseMatrix< Scalar, _Options, int > >, SparseMatrixBase< SparseInnerVectorSet< SparseMatrix< _Scalar, _Options, _Index >, Size > >, SparseMatrixBase< CwiseUnaryOp< UnaryOp, MatrixType > >, SparseMatrixBase< Transpose< MatrixType > >, SparseMatrixBase< SparseDiagonalProduct< Lhs, Rhs > >, SparseMatrixBase< SparseMatrix< Scalar, _Options, _Index > >, SparseMatrixBase< CwiseUnaryView< ViewOp, MatrixType > >, SparseMatrixBase< SparseMatrix< _Scalar, _Options, _Index > >, SparseMatrixBase< SparseDenseOuterProduct< Lhs, Rhs, Tr > >, SparseMatrixBase< SparseInnerVectorSet< MatrixType, Size > >, SparseMatrixBase< MappedSparseMatrix< _Scalar, _Flags, _Index > >, SparseMatrixBase< SparseSparseProduct< LhsNested, RhsNested > >, SparseMatrixBase< SparseMatrix< Scalar, _Options, Index > >, SparseMatrixBase< SparseTriangularView< MatrixType, Mode > >, SparseMatrixBase< SparseVector< _Scalar, _Options, _Index > >, SparseMatrixBase< SparseView< MatrixType > >, SparseMatrixBase< CwiseBinaryOp< BinaryOp, Lhs, Rhs > >, SparseSparseProduct< LhsNested, RhsNested >, SparseMatrix< _Scalar, _Options, _Index >, SparseMatrix< Scalar >, SparseMatrix< Scalar, ColMajor, Index >, SparseMatrix< Scalar, ColMajor >, SparseMatrix< Scalar, ColMajor, int >, SparseMatrix< Scalar, RowMajor, Index >, SparseMatrix< Scalar, RowMajor >, PermutationBase< Derived >, PermutationBase< PermutationWrapper< _IndicesType > >, PermutationBase< Map< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType >, _PacketAccess > >, PermutationBase< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType > >, PermutationBase< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, Index > >, SparseDenseOuterProduct< Lhs, Rhs, Tr >, SparseInnerVectorSet< MatrixType, Size >, SparseDiagonalProduct< Lhs, Rhs >, SparseVector< _Scalar, _Options, _Index >, SelfAdjointView< MatrixType, UpLo >, SparseSelfAdjointView< MatrixType, UpLo >, TriangularBase< Derived >, MappedSparseMatrix< _Scalar, _Flags, _Index >, TriangularBase< TriangularView< _MatrixType, _Mode > >, TriangularBase< SelfAdjointView< MatrixType, UpLo > >, SparseView< MatrixType >, and SparseTriangularView< MatrixType, Mode >.
Referenced by PlainObjectBase< Matrix< int, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >::_resize_to_match(), EigenBase< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, Index > >::addTo(), Array< Index, 64, 1 >::Array(), Matrix< Index, 1, ColsAtCompileTime, RowMajor, 1, MaxColsAtCompileTime >::Matrix(), EigenBase< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, Index > >::size(), and EigenBase< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, Index > >::subTo().
void rowStride | ( | ) | [protected, inherited] |
Reimplemented in SparseMatrixBase< Derived >, SparseMatrixBase< SparseMatrix< Scalar, _Options, int > >, SparseMatrixBase< SparseInnerVectorSet< SparseMatrix< _Scalar, _Options, _Index >, Size > >, SparseMatrixBase< CwiseUnaryOp< UnaryOp, MatrixType > >, SparseMatrixBase< Transpose< MatrixType > >, SparseMatrixBase< SparseDiagonalProduct< Lhs, Rhs > >, SparseMatrixBase< SparseMatrix< Scalar, _Options, _Index > >, SparseMatrixBase< CwiseUnaryView< ViewOp, MatrixType > >, SparseMatrixBase< SparseMatrix< _Scalar, _Options, _Index > >, SparseMatrixBase< SparseDenseOuterProduct< Lhs, Rhs, Tr > >, SparseMatrixBase< SparseInnerVectorSet< MatrixType, Size > >, SparseMatrixBase< MappedSparseMatrix< _Scalar, _Flags, _Index > >, SparseMatrixBase< SparseSparseProduct< LhsNested, RhsNested > >, SparseMatrixBase< SparseMatrix< Scalar, _Options, Index > >, SparseMatrixBase< SparseTriangularView< MatrixType, Mode > >, SparseMatrixBase< SparseVector< _Scalar, _Options, _Index > >, SparseMatrixBase< SparseView< MatrixType > >, SparseMatrixBase< CwiseBinaryOp< BinaryOp, Lhs, Rhs > >, PermutationBase< Derived >, PermutationBase< PermutationWrapper< _IndicesType > >, PermutationBase< Map< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType >, _PacketAccess > >, PermutationBase< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType > >, and PermutationBase< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, Index > >.
Referenced by PlainObjectBase< Matrix< int, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >::_resize_to_match().
void stride | ( | ) | [protected, inherited] |
void subTo | ( | Dest & | dst | ) | const [inline, inherited] |
CoeffReturnType w | ( | ) | const [inline, inherited] |
equivalent to operator[](3).
void writePacket | ( | ) | [protected, inherited] |
void writePacketByOuterInner | ( | ) | [protected, inherited] |
CoeffReturnType x | ( | ) | const [inline, inherited] |
equivalent to operator[](0).
CoeffReturnType y | ( | ) | const [inline, inherited] |
equivalent to operator[](1).
CoeffReturnType z | ( | ) | const [inline, inherited] |
equivalent to operator[](2).