Base class for Map and Block expression with direct access. More...
Public Types | |
enum | { IsRowMajor, PacketAccess, RowsAtCompileTime, ColsAtCompileTime, SizeAtCompileTime } |
typedef ei_traits< Derived > ::AlignedDerivedType | AlignedDerivedType |
typedef MatrixBase< Derived > | Base |
typedef Base::PacketScalar | PacketScalar |
typedef ei_traits< Derived > ::Scalar | Scalar |
![]() | |
enum | { RowsAtCompileTime, ColsAtCompileTime, SizeAtCompileTime, MaxRowsAtCompileTime, MaxColsAtCompileTime, MaxSizeAtCompileTime, IsVectorAtCompileTime, Flags, CoeffReadCost } |
Public Member Functions | |
const Scalar & | coeff (int row, int col) const |
const Scalar | coeff (int index) const |
Scalar & | coeffRef (int row, int col) |
Scalar & | coeffRef (int index) |
int | cols () const |
const Scalar * | data () const |
AlignedDerivedType | forceAligned () |
MapBase (const Scalar *data) | |
MapBase (const Scalar *data, int size) | |
MapBase (const Scalar *data, int rows, int cols) | |
Derived & | operator*= (const Scalar &other) |
template<typename OtherDerived > | |
Derived & | operator+= (const MatrixBase< OtherDerived > &other) |
template<typename OtherDerived > | |
Derived & | operator-= (const MatrixBase< OtherDerived > &other) |
Derived & | operator/= (const Scalar &other) |
Derived & | operator= (const MapBase &other) |
template<typename OtherDerived > | |
Derived & | operator= (const MatrixBase< OtherDerived > &other) |
template<int LoadMode> | |
PacketScalar | packet (int row, int col) const |
template<int LoadMode> | |
PacketScalar | packet (int index) const |
int | rows () const |
int | stride () const |
template<int StoreMode> | |
void | writePacket (int row, int col, const PacketScalar &x) |
template<int StoreMode> | |
void | writePacket (int index, const PacketScalar &x) |
![]() | |
const AdjointReturnType | adjoint () const |
bool | all (void) const |
bool | any (void) const |
const DiagonalMatrix< Derived > | asDiagonal () const |
template<typename CustomBinaryOp , typename OtherDerived > | |
const CwiseBinaryOp < CustomBinaryOp, Derived, OtherDerived > | binaryExpr (const MatrixBase< OtherDerived > &other, const CustomBinaryOp &func=CustomBinaryOp()) const |
BlockReturnType< Derived >::Type | block (int startRow, int startCol, int blockRows, int blockCols) |
const BlockReturnType< Derived > ::Type | block (int startRow, int startCol, int blockRows, int blockCols) const |
template<int BlockRows, int BlockCols> | |
BlockReturnType< Derived, BlockRows, BlockCols >::Type | block (int startRow, int startCol) |
template<int BlockRows, int BlockCols> | |
const BlockReturnType< Derived, BlockRows, BlockCols >::Type | block (int startRow, int startCol) const |
template<typename NewType > | |
const CwiseUnaryOp < ei_scalar_cast_op< typename ei_traits< Derived >::Scalar, NewType >, Derived > | cast () const |
const Scalar | coeff (int row, int col) const |
const Scalar | coeff (int index) const |
Scalar & | coeffRef (int row, int col) |
Scalar & | coeffRef (int index) |
ColXpr | col (int i) |
const ColXpr | col (int i) const |
int | cols () const |
const PartialRedux< Derived, Vertical > | colwise () const |
template<typename OtherDerived > | |
void | computeInverse (MatrixBase< OtherDerived > *result) const |
template<typename ResultType > | |
void | computeInverse (MatrixBase< ResultType > *result) const |
ConjugateReturnType | conjugate () const |
BlockReturnType< Derived >::Type | corner (CornerType type, int cRows, int cCols) |
const BlockReturnType< Derived > ::Type | corner (CornerType type, int cRows, int cCols) const |
template<int CRows, int CCols> | |
BlockReturnType< Derived, CRows, CCols >::Type | corner (CornerType type) |
template<int CRows, int CCols> | |
const BlockReturnType< Derived, CRows, CCols >::Type | corner (CornerType type) const |
int | count () const |
template<typename OtherDerived > | |
MatrixBase< Derived > ::PlainMatrixType | cross (const MatrixBase< OtherDerived > &other) const |
template<typename OtherDerived > | |
PlainMatrixType | cross (const MatrixBase< OtherDerived > &other) const |
const Cwise< Derived > | cwise () const |
Cwise< Derived > | cwise () |
Scalar | determinant () const |
DiagonalCoeffs< Derived > | diagonal () |
const DiagonalCoeffs< Derived > | diagonal () const |
template<typename OtherDerived > | |
ei_traits< Derived >::Scalar | dot (const MatrixBase< OtherDerived > &other) const |
template<typename OtherDerived > | |
Scalar | dot (const MatrixBase< OtherDerived > &other) const |
EigenvaluesReturnType | eigenvalues () const |
BlockReturnType< Derived, Dynamic >::SubVectorType | end (int size) |
const BlockReturnType< Derived, Dynamic >::SubVectorType | end (int size) const |
template<int Size> | |
BlockReturnType< Derived, Size > ::SubVectorType | end () |
template<int Size> | |
const BlockReturnType< Derived, Size >::SubVectorType | end () const |
Matrix< Scalar, 3, 1 > | eulerAngles (int a0, int a1, int a2) const |
const ei_eval< Derived >::type | eval () const |
void | fill (const Scalar &value) |
const WithFormat< Derived > | format (const IOFormat &fmt) const |
const ImagReturnType | imag () const |
int | innerSize () const |
const PlainMatrixType | inverse () const |
template<typename OtherDerived > | |
bool | isApprox (const MatrixBase< OtherDerived > &other, typename NumTraits< Scalar >::Real prec) const |
template<typename OtherDerived > | |
bool | isApprox (const MatrixBase< OtherDerived > &other, RealScalar prec=precision< Scalar >()) const |
bool | isApproxToConstant (const Scalar &value, RealScalar prec=precision< Scalar >()) const |
bool | isConstant (const Scalar &value, RealScalar prec=precision< Scalar >()) const |
bool | isDiagonal (RealScalar prec=precision< Scalar >()) const |
bool | isIdentity (RealScalar prec=precision< Scalar >()) const |
bool | isLowerTriangular (RealScalar prec=precision< Scalar >()) const |
template<typename Derived > | |
bool | isMuchSmallerThan (const typename NumTraits< Scalar >::Real &other, typename NumTraits< Scalar >::Real prec) const |
template<typename OtherDerived > | |
bool | isMuchSmallerThan (const MatrixBase< OtherDerived > &other, typename NumTraits< Scalar >::Real prec) const |
bool | isMuchSmallerThan (const RealScalar &other, RealScalar prec=precision< Scalar >()) const |
template<typename OtherDerived > | |
bool | isMuchSmallerThan (const MatrixBase< OtherDerived > &other, RealScalar prec=precision< Scalar >()) const |
bool | isOnes (RealScalar prec=precision< Scalar >()) const |
template<typename OtherDerived > | |
bool | isOrthogonal (const MatrixBase< OtherDerived > &other, RealScalar prec=precision< Scalar >()) const |
bool | isUnitary (RealScalar prec=precision< Scalar >()) const |
bool | isUpperTriangular (RealScalar prec=precision< Scalar >()) const |
bool | isVector () const |
bool | isZero (RealScalar prec=precision< Scalar >()) const |
const Flagged< Derived, 0, EvalBeforeNestingBit|EvalBeforeAssigningBit > | lazy () const |
template<typename Lhs , typename Rhs > | |
Derived & | lazyAssign (const SparseProduct< Lhs, Rhs, SparseTimeDenseProduct > &product) |
template<typename Lhs , typename Rhs > | |
Derived & | lazyAssign (const SparseProduct< Lhs, Rhs, DenseTimeSparseProduct > &product) |
template<typename Derived1 , typename Derived2 > | |
Derived & | lazyAssign (const SparseProduct< Derived1, Derived2, SparseTimeDenseProduct > &product) |
template<typename Derived1 , typename Derived2 > | |
Derived & | lazyAssign (const SparseProduct< Derived1, Derived2, DenseTimeSparseProduct > &product) |
template<typename Lhs , typename Rhs > | |
Derived & | lazyAssign (const Product< Lhs, Rhs, CacheFriendlyProduct > &product) |
const LDLT< PlainMatrixType > | ldlt () const |
const LLT< PlainMatrixType > | llt () const |
template<int p> | |
NumTraits< typename ei_traits < Derived >::Scalar >::Real | lpNorm () const |
template<int p> | |
RealScalar | lpNorm () const |
const LU< PlainMatrixType > | lu () const |
template<unsigned int Added> | |
const Flagged< Derived, Added, 0 > | marked () const |
ei_traits< Derived >::Scalar | maxCoeff () const |
ei_traits< Derived >::Scalar | maxCoeff (int *row, int *col) const |
ei_traits< Derived >::Scalar | maxCoeff (int *index) const |
ei_traits< Derived >::Scalar | minCoeff () const |
ei_traits< Derived >::Scalar | minCoeff (int *row, int *col) const |
ei_traits< Derived >::Scalar | minCoeff (int *index) const |
Minor< Derived > | minor (int row, int col) |
const Minor< Derived > | minor (int row, int col) const |
const NestByValue< Derived > | nestByValue () const |
int | nonZeros () const |
RealScalar | norm () const |
void | normalize () |
const PlainMatrixType | normalized () const |
template<typename OtherDerived > | |
bool | operator!= (const MatrixBase< OtherDerived > &other) const |
const Scalar | operator() (int row, int col) const |
Scalar & | operator() (int row, int col) |
const Scalar | operator() (int index) const |
Scalar & | operator() (int index) |
const ScalarMultipleReturnType | operator* (const Scalar &scalar) const |
template<typename OtherDerived > | |
const ProductReturnType < Derived, OtherDerived > ::Type | operator* (const MatrixBase< OtherDerived > &other) const |
Derived & | operator*= (const Scalar &other) |
template<typename OtherDerived > | |
Derived & | operator*= (const MatrixBase< OtherDerived > &other) |
template<typename OtherDerived > | |
const CwiseBinaryOp < ei_scalar_sum_op< typename ei_traits< Derived >::Scalar > , Derived, OtherDerived > | operator+ (const MatrixBase< OtherDerived > &other) const |
template<typename OtherDerived > | |
Derived & | operator+= (const MatrixBase< OtherDerived > &other) |
template<typename Lhs , typename Rhs > | |
Derived & | operator+= (const Flagged< Product< Lhs, Rhs, CacheFriendlyProduct >, 0, EvalBeforeNestingBit|EvalBeforeAssigningBit > &other) |
const CwiseUnaryOp < ei_scalar_opposite_op < typename ei_traits< Derived > ::Scalar >, Derived > | operator- () const |
template<typename OtherDerived > | |
const CwiseBinaryOp < ei_scalar_difference_op < typename ei_traits< Derived > ::Scalar >, Derived, OtherDerived > | operator- (const MatrixBase< OtherDerived > &other) const |
template<typename OtherDerived > | |
Derived & | operator-= (const MatrixBase< OtherDerived > &other) |
const CwiseUnaryOp < ei_scalar_quotient1_op < typename ei_traits< Derived > ::Scalar >, Derived > | operator/ (const Scalar &scalar) const |
Derived & | operator/= (const Scalar &other) |
template<typename OtherDerived > | |
CommaInitializer< Derived > | operator<< (const MatrixBase< OtherDerived > &other) |
CommaInitializer< Derived > | operator<< (const Scalar &s) |
template<typename OtherDerived > | |
Derived & | operator= (const MatrixBase< OtherDerived > &other) |
Derived & | operator= (const MatrixBase &other) |
template<typename OtherDerived > | |
bool | operator== (const MatrixBase< OtherDerived > &other) const |
const Scalar | operator[] (int index) const |
Scalar & | operator[] (int index) |
RealScalar | operatorNorm () const |
int | outerSize () const |
template<int LoadMode> | |
ei_packet_traits< typename ei_traits< Derived >::Scalar > ::type | packet (int row, int col) const |
template<int LoadMode> | |
PacketScalar | packet (int row, int col) const |
template<int LoadMode> | |
PacketScalar | packet (int index) const |
template<int LoadMode> | |
ei_packet_traits< typename ei_traits< Derived >::Scalar > ::type | packet (int index) const |
template<unsigned int Mode> | |
Part< Derived, Mode > | part () |
template<unsigned int Mode> | |
const Part< Derived, Mode > | part () const |
const QR< PlainMatrixType > | qr () const |
const RealReturnType | real () const |
template<typename BinaryOp > | |
ei_result_of< BinaryOp(typename ei_traits< Derived >::Scalar)> ::type | redux (const BinaryOp &func) const |
RowXpr | row (int i) |
const RowXpr | row (int i) const |
int | rows () const |
const PartialRedux< Derived, Horizontal > | rowwise () const |
BlockReturnType< Derived > ::SubVectorType | segment (int start, int size) |
const BlockReturnType< Derived > ::SubVectorType | segment (int start, int size) const |
template<int Size> | |
BlockReturnType< Derived, Size > ::SubVectorType | segment (int start) |
template<int Size> | |
const BlockReturnType< Derived, Size >::SubVectorType | segment (int start) const |
template<typename ThenDerived , typename ElseDerived > | |
const Select< Derived, ThenDerived, ElseDerived > | select (const MatrixBase< ThenDerived > &thenMatrix, const MatrixBase< ElseDerived > &elseMatrix) const |
template<typename ThenDerived > | |
const Select< Derived, ThenDerived, NestByValue < typename ThenDerived::ConstantReturnType > > | select (const MatrixBase< ThenDerived > &thenMatrix, typename ThenDerived::Scalar elseScalar) const |
template<typename ElseDerived > | |
const Select< Derived, NestByValue< typename ElseDerived::ConstantReturnType > , ElseDerived > | select (typename ElseDerived::Scalar thenScalar, const MatrixBase< ElseDerived > &elseMatrix) const |
Derived & | setConstant (const Scalar &value) |
Derived & | setIdentity () |
Derived & | setOnes () |
Derived & | setRandom () |
Derived & | setZero () |
int | size () const |
template<typename OtherDerived > | |
ei_plain_matrix_type_column_major < OtherDerived >::type | solveTriangular (const MatrixBase< OtherDerived > &other) const |
template<typename OtherDerived > | |
void | solveTriangularInPlace (const MatrixBase< OtherDerived > &other) const |
RealScalar | squaredNorm () const |
BlockReturnType< Derived, Dynamic >::SubVectorType | start (int size) |
const BlockReturnType< Derived, Dynamic >::SubVectorType | start (int size) const |
template<int Size> | |
BlockReturnType< Derived, Size > ::SubVectorType | start (void) |
template<int Size> | |
const BlockReturnType< Derived, Size >::SubVectorType | start () const |
int | stride (void) const |
Scalar | sum () const |
SVD< PlainMatrixType > | svd () const |
template<typename OtherDerived > | |
void | swap (const MatrixBase< OtherDerived > &other) |
Scalar | trace () const |
Eigen::Transpose< Derived > | transpose () |
const Eigen::Transpose< Derived > | transpose () const |
void | transposeInPlace () |
template<typename CustomUnaryOp > | |
const CwiseUnaryOp < CustomUnaryOp, Derived > | unaryExpr (const CustomUnaryOp &func=CustomUnaryOp()) const |
PlainMatrixType | unitOrthogonal (void) const |
template<typename Visitor > | |
void | visit (Visitor &func) const |
const Scalar | w () const |
Scalar & | w () |
template<int StoreMode> | |
void | writePacket (int row, int col, const typename ei_packet_traits< typename ei_traits< Derived >::Scalar >::type &x) |
template<int StoreMode> | |
void | writePacket (int row, int col, const PacketScalar &x) |
template<int StoreMode> | |
void | writePacket (int index, const PacketScalar &x) |
template<int StoreMode> | |
void | writePacket (int index, const typename ei_packet_traits< typename ei_traits< Derived >::Scalar >::type &x) |
const Scalar | x () const |
Scalar & | x () |
const Scalar | y () const |
Scalar & | y () |
const Scalar | z () const |
Scalar & | z () |
Protected Attributes | |
const ei_int_if_dynamic < ColsAtCompileTime > | m_cols |
const Scalar *EIGEN_RESTRICT | m_data |
const ei_int_if_dynamic < RowsAtCompileTime > | m_rows |
Additional Inherited Members | |
![]() | |
static const ConstantReturnType | Constant (int rows, int cols, const Scalar &value) |
static const ConstantReturnType | Constant (int size, const Scalar &value) |
static const ConstantReturnType | Constant (const Scalar &value) |
static const IdentityReturnType | Identity () |
static const IdentityReturnType | Identity (int rows, int cols) |
template<typename CustomNullaryOp > | |
static const CwiseNullaryOp < CustomNullaryOp, Derived > | NullaryExpr (int rows, int cols, const CustomNullaryOp &func) |
template<typename CustomNullaryOp > | |
static const CwiseNullaryOp < CustomNullaryOp, Derived > | NullaryExpr (int size, const CustomNullaryOp &func) |
template<typename CustomNullaryOp > | |
static const CwiseNullaryOp < CustomNullaryOp, Derived > | NullaryExpr (const CustomNullaryOp &func) |
static const ConstantReturnType | Ones (int rows, int cols) |
static const ConstantReturnType | Ones (int size) |
static const ConstantReturnType | Ones () |
static const CwiseNullaryOp < ei_scalar_random_op< Scalar > , Derived > | Random (int rows, int cols) |
static const CwiseNullaryOp < ei_scalar_random_op< Scalar > , Derived > | Random (int size) |
static const CwiseNullaryOp < ei_scalar_random_op< Scalar > , Derived > | Random () |
static const BasisReturnType | Unit (int size, int i) |
static const BasisReturnType | Unit (int i) |
static const BasisReturnType | UnitW () |
static const BasisReturnType | UnitX () |
static const BasisReturnType | UnitY () |
static const BasisReturnType | UnitZ () |
static const ConstantReturnType | Zero (int rows, int cols) |
static const ConstantReturnType | Zero (int size) |
static const ConstantReturnType | Zero () |
![]() | |
MatrixBase () | |
![]() | |
template<typename Derived > | |
std::ostream & | operator<< (std::ostream &s, const MatrixBase< Derived > &m) |
Base class for Map and Block expression with direct access.
Expression classes inheriting MapBase must define the constant PacketAccess
, and type AlignedDerivedType
in their respective ei_traits<> specialization structure. The value of PacketAccess
can be either:
AlignedDerivedType
should correspond to the equivalent expression type with PacketAccess
being ForceAligned
.
|
inline |
*this
but having the PacketAccess
constant set to ForceAligned
. Must be reimplemented by the derived class.