Medial Code Documentation
|
Base class for all 1D and 2D array, and related expressions. More...
#include <ArrayBase.h>
Public Types | |
typedef ArrayBase | StorageBaseType |
The base class for a given storage type. | |
typedef ArrayBase | Eigen_BaseClassForSpecializationOfGlobalMathFuncImpl |
typedef internal::traits< Derived >::StorageKind | StorageKind |
typedef internal::traits< Derived >::Scalar | Scalar |
typedef internal::packet_traits< Scalar >::type | PacketScalar |
typedef NumTraits< Scalar >::Real | RealScalar |
typedef DenseBase< Derived > | Base |
typedef Base::CoeffReturnType | CoeffReturnType |
typedef Base::PlainObject | PlainObject |
typedef CwiseNullaryOp< internal::scalar_constant_op< Scalar >, PlainObject > | ConstantReturnType |
![]() | |
enum | { RowsAtCompileTime = internal::traits<Derived>::RowsAtCompileTime , ColsAtCompileTime = internal::traits<Derived>::ColsAtCompileTime , SizeAtCompileTime , MaxRowsAtCompileTime = internal::traits<Derived>::MaxRowsAtCompileTime , MaxColsAtCompileTime = internal::traits<Derived>::MaxColsAtCompileTime , MaxSizeAtCompileTime , IsVectorAtCompileTime , Flags = internal::traits<Derived>::Flags , IsRowMajor = int(Flags) & RowMajorBit , InnerSizeAtCompileTime , InnerStrideAtCompileTime = internal::inner_stride_at_compile_time<Derived>::ret , OuterStrideAtCompileTime = internal::outer_stride_at_compile_time<Derived>::ret } |
enum | { IsPlainObjectBase = 0 } |
typedef Eigen::InnerIterator< Derived > | InnerIterator |
Inner iterator type to iterate over the coefficients of a row or column. | |
typedef internal::traits< Derived >::StorageKind | StorageKind |
typedef internal::traits< Derived >::StorageIndex | StorageIndex |
The type used to store indices. | |
typedef internal::traits< Derived >::Scalar | Scalar |
The numeric type of the expression' coefficients, e.g. | |
typedef Scalar | value_type |
The numeric type of the expression' coefficients, e.g. | |
typedef NumTraits< Scalar >::Real | RealScalar |
typedef internal::special_scalar_op_base< Derived, Scalar, RealScalar, DenseCoeffsBase< Derived > > | Base |
typedef Base::CoeffReturnType | CoeffReturnType |
typedef internal::find_best_packet< Scalar, SizeAtCompileTime >::type | PacketScalar |
typedef Matrix< typename internal::traits< Derived >::Scalar, internal::traits< Derived >::RowsAtCompileTime, internal::traits< Derived >::ColsAtCompileTime, AutoAlign|(internal::traits< Derived >::Flags &RowMajorBit ? RowMajor :ColMajor), internal::traits< Derived >::MaxRowsAtCompileTime, internal::traits< Derived >::MaxColsAtCompileTime > | PlainMatrix |
The plain matrix type corresponding to this expression. | |
typedef Array< typename internal::traits< Derived >::Scalar, internal::traits< Derived >::RowsAtCompileTime, internal::traits< Derived >::ColsAtCompileTime, AutoAlign|(internal::traits< Derived >::Flags &RowMajorBit ? RowMajor :ColMajor), internal::traits< Derived >::MaxRowsAtCompileTime, internal::traits< Derived >::MaxColsAtCompileTime > | PlainArray |
The plain array type corresponding to this expression. | |
typedef internal::conditional< internal::is_same< typenameinternal::traits< Derived >::XprKind, MatrixXpr >::value, PlainMatrix, PlainArray >::type | PlainObject |
The plain matrix or array type corresponding to this expression. | |
typedef CwiseNullaryOp< internal::scalar_constant_op< Scalar >, PlainObject > | ConstantReturnType |
typedef CwiseNullaryOp< internal::linspaced_op< Scalar, PacketScalar, false >, PlainObject > | SequentialLinSpacedReturnType |
typedef CwiseNullaryOp< internal::linspaced_op< Scalar, PacketScalar, true >, PlainObject > | RandomAccessLinSpacedReturnType |
typedef Matrix< typename NumTraits< typename internal::traits< Derived >::Scalar >::Real, internal::traits< Derived >::ColsAtCompileTime, 1 > | EigenvaluesReturnType |
typedef Transpose< Derived > | TransposeReturnType |
typedef internal::add_const< Transpose< constDerived > >::type | ConstTransposeReturnType |
typedef internal::add_const_on_value_type< typenameinternal::eval< Derived >::type >::type | EvalReturnType |
typedef VectorwiseOp< Derived, Horizontal > | RowwiseReturnType |
typedef const VectorwiseOp< const Derived, Horizontal > | ConstRowwiseReturnType |
typedef VectorwiseOp< Derived, Vertical > | ColwiseReturnType |
typedef const VectorwiseOp< const Derived, Vertical > | ConstColwiseReturnType |
typedef CwiseNullaryOp< internal::scalar_random_op< Scalar >, PlainObject > | RandomReturnType |
typedef Reverse< Derived, BothDirections > | ReverseReturnType |
typedef const Reverse< const Derived, BothDirections > | ConstReverseReturnType |
Public Member Functions | |
EIGEN_DEVICE_FUNC Derived & | operator= (const ArrayBase &other) |
Special case of the template operator=, in order to prevent the compiler from generating a default operator= (issue hit with g++ 4.1) | |
EIGEN_DEVICE_FUNC Derived & | operator= (const Scalar &value) |
Set all the entries to value. | |
EIGEN_DEVICE_FUNC Derived & | operator+= (const Scalar &scalar) |
EIGEN_DEVICE_FUNC Derived & | operator-= (const Scalar &scalar) |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC Derived & | operator+= (const ArrayBase< OtherDerived > &other) |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC Derived & | operator-= (const ArrayBase< OtherDerived > &other) |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC Derived & | operator*= (const ArrayBase< OtherDerived > &other) |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC Derived & | operator/= (const ArrayBase< OtherDerived > &other) |
EIGEN_DEVICE_FUNC ArrayBase< Derived > & | array () |
EIGEN_DEVICE_FUNC const ArrayBase< Derived > & | array () const |
EIGEN_DEVICE_FUNC MatrixWrapper< Derived > | matrix () |
EIGEN_DEVICE_FUNC const MatrixWrapper< const Derived > | matrix () const |
template<typename OtherDerived > | |
EIGEN_STRONG_INLINE Derived & | operator-= (const ArrayBase< OtherDerived > &other) |
replaces *this by *this - other. | |
template<typename OtherDerived > | |
EIGEN_STRONG_INLINE Derived & | operator+= (const ArrayBase< OtherDerived > &other) |
replaces *this by *this + other. | |
template<typename OtherDerived > | |
EIGEN_STRONG_INLINE Derived & | operator*= (const ArrayBase< OtherDerived > &other) |
replaces *this by *this * other coefficient wise. | |
template<typename OtherDerived > | |
EIGEN_STRONG_INLINE Derived & | operator/= (const ArrayBase< OtherDerived > &other) |
replaces *this by *this / other coefficient wise. | |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC Derived & | lazyAssign (const DenseBase< OtherDerived > &other) |
\ínternal Copies other into *this without evaluating other. | |
template<typename OtherDerived > | |
EIGEN_STRONG_INLINE Derived & | lazyAssign (const DenseBase< OtherDerived > &other) |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC Derived & | operator= (const DenseBase< OtherDerived > &other) |
Copies other into *this. | |
EIGEN_DEVICE_FUNC Derived & | operator= (const DenseBase &other) |
Special case of the template operator=, in order to prevent the compiler from generating a default operator= (issue hit with g++ 4.1) | |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC Derived & | operator= (const EigenBase< OtherDerived > &other) |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC Derived & | operator= (const ReturnByValue< OtherDerived > &func) |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & | operator= (const DenseBase< OtherDerived > &other) |
template<typename OtherDerived > | |
Derived & | operator= (const EigenBase< OtherDerived > &other) |
Copies the generic expression other into *this. | |
template<typename OtherDerived > | |
Derived & | operator= (const ReturnByValue< OtherDerived > &other) |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC Derived & | operator+= (const EigenBase< OtherDerived > &other) |
template<typename OtherDerived > | |
Derived & | operator+= (const EigenBase< OtherDerived > &other) |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC Derived & | operator-= (const EigenBase< OtherDerived > &other) |
template<typename OtherDerived > | |
Derived & | operator-= (const EigenBase< OtherDerived > &other) |
EIGEN_DEVICE_FUNC Derived & | operator*= (const Scalar &other) |
EIGEN_DEVICE_FUNC Derived & | operator/= (const Scalar &other) |
![]() | |
EIGEN_DEVICE_FUNC Index | nonZeros () const |
EIGEN_DEVICE_FUNC Index | outerSize () const |
EIGEN_DEVICE_FUNC Index | innerSize () const |
EIGEN_DEVICE_FUNC void | resize (Index newSize) |
Only plain matrices/arrays, not expressions, may be resized; therefore the only useful resize methods are Matrix::resize() and Array::resize(). | |
EIGEN_DEVICE_FUNC void | resize (Index rows, Index cols) |
Only plain matrices/arrays, not expressions, may be resized; therefore the only useful resize methods are Matrix::resize() and Array::resize(). | |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC Derived & | operator= (const DenseBase< OtherDerived > &other) |
Copies other into *this. | |
EIGEN_DEVICE_FUNC Derived & | operator= (const DenseBase &other) |
Special case of the template operator=, in order to prevent the compiler from generating a default operator= (issue hit with g++ 4.1) | |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC Derived & | operator= (const EigenBase< OtherDerived > &other) |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC Derived & | operator+= (const EigenBase< OtherDerived > &other) |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC Derived & | operator-= (const EigenBase< OtherDerived > &other) |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC Derived & | operator= (const ReturnByValue< OtherDerived > &func) |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC Derived & | lazyAssign (const DenseBase< OtherDerived > &other) |
\ínternal Copies other into *this without evaluating other. | |
EIGEN_DEVICE_FUNC CommaInitializer< Derived > | operator<< (const Scalar &s) |
Convenient operator to set the coefficients of a matrix. | |
template<unsigned int Added, unsigned int Removed> | |
EIGEN_DEPRECATED const Derived & | flagged () const |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC CommaInitializer< Derived > | operator<< (const DenseBase< OtherDerived > &other) |
EIGEN_DEVICE_FUNC TransposeReturnType | transpose () |
EIGEN_DEVICE_FUNC ConstTransposeReturnType | transpose () const |
This is the const version of transpose(). | |
EIGEN_DEVICE_FUNC void | transposeInPlace () |
This is the "in place" version of transpose(): it replaces *this by its own transpose. | |
EIGEN_DEVICE_FUNC void | fill (const Scalar &value) |
Alias for setConstant(): sets all coefficients in this expression to val. | |
EIGEN_DEVICE_FUNC Derived & | setConstant (const Scalar &value) |
Sets all coefficients in this expression to value. | |
EIGEN_DEVICE_FUNC Derived & | setLinSpaced (Index size, const Scalar &low, const Scalar &high) |
Sets a linearly space vector. | |
EIGEN_DEVICE_FUNC Derived & | setLinSpaced (const Scalar &low, const Scalar &high) |
Sets a linearly space vector. | |
EIGEN_DEVICE_FUNC Derived & | setZero () |
Sets all coefficients in this expression to zero. | |
EIGEN_DEVICE_FUNC Derived & | setOnes () |
Sets all coefficients in this expression to one. | |
EIGEN_DEVICE_FUNC Derived & | setRandom () |
Sets all coefficients in this expression to random values. | |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC bool | isApprox (const DenseBase< OtherDerived > &other, const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const |
EIGEN_DEVICE_FUNC bool | isMuchSmallerThan (const RealScalar &other, const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC bool | isMuchSmallerThan (const DenseBase< OtherDerived > &other, const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const |
EIGEN_DEVICE_FUNC bool | isApproxToConstant (const Scalar &value, const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const |
EIGEN_DEVICE_FUNC bool | isConstant (const Scalar &value, const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const |
This is just an alias for isApproxToConstant(). | |
EIGEN_DEVICE_FUNC bool | isZero (const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const |
EIGEN_DEVICE_FUNC bool | isOnes (const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const |
bool | hasNaN () const |
bool | allFinite () const |
EIGEN_DEVICE_FUNC Derived & | operator*= (const Scalar &other) |
EIGEN_DEVICE_FUNC Derived & | operator/= (const Scalar &other) |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE EvalReturnType | eval () const |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC void | swap (const DenseBase< OtherDerived > &other) |
swaps *this with the expression other. | |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC void | swap (PlainObjectBase< OtherDerived > &other) |
swaps *this with the matrix or array other. | |
EIGEN_DEVICE_FUNC const NestByValue< Derived > | nestByValue () const |
EIGEN_DEVICE_FUNC const ForceAlignedAccess< Derived > | forceAlignedAccess () const |
EIGEN_DEVICE_FUNC ForceAlignedAccess< Derived > | forceAlignedAccess () |
template<bool Enable> | |
EIGEN_DEVICE_FUNC const internal::conditional< Enable, ForceAlignedAccess< Derived >, Derived & >::type | forceAlignedAccessIf () const |
template<bool Enable> | |
EIGEN_DEVICE_FUNC internal::conditional< Enable, ForceAlignedAccess< Derived >, Derived & >::type | forceAlignedAccessIf () |
EIGEN_DEVICE_FUNC Scalar | sum () const |
EIGEN_DEVICE_FUNC Scalar | mean () const |
EIGEN_DEVICE_FUNC Scalar | trace () const |
EIGEN_DEVICE_FUNC Scalar | prod () const |
EIGEN_DEVICE_FUNC internal::traits< Derived >::Scalar | minCoeff () const |
EIGEN_DEVICE_FUNC internal::traits< Derived >::Scalar | maxCoeff () const |
template<typename IndexType > | |
EIGEN_DEVICE_FUNC internal::traits< Derived >::Scalar | minCoeff (IndexType *row, IndexType *col) const |
template<typename IndexType > | |
EIGEN_DEVICE_FUNC internal::traits< Derived >::Scalar | maxCoeff (IndexType *row, IndexType *col) const |
template<typename IndexType > | |
EIGEN_DEVICE_FUNC internal::traits< Derived >::Scalar | minCoeff (IndexType *index) const |
template<typename IndexType > | |
EIGEN_DEVICE_FUNC internal::traits< Derived >::Scalar | maxCoeff (IndexType *index) const |
template<typename BinaryOp > | |
EIGEN_DEVICE_FUNC Scalar | redux (const BinaryOp &func) const |
template<typename Visitor > | |
EIGEN_DEVICE_FUNC void | visit (Visitor &func) const |
Applies the visitor visitor to the whole coefficients of the matrix or vector. | |
const WithFormat< Derived > | format (const IOFormat &fmt) const |
EIGEN_DEVICE_FUNC CoeffReturnType | value () const |
bool | all () const |
bool | any () const |
Index | count () const |
EIGEN_DEVICE_FUNC ConstRowwiseReturnType | rowwise () const |
EIGEN_DEVICE_FUNC RowwiseReturnType | rowwise () |
EIGEN_DEVICE_FUNC ConstColwiseReturnType | colwise () const |
EIGEN_DEVICE_FUNC ColwiseReturnType | colwise () |
template<typename ThenDerived , typename ElseDerived > | |
const Select< Derived, ThenDerived, ElseDerived > | select (const DenseBase< ThenDerived > &thenMatrix, const DenseBase< ElseDerived > &elseMatrix) const |
template<typename ThenDerived > | |
const Select< Derived, ThenDerived, typename ThenDerived::ConstantReturnType > | select (const DenseBase< ThenDerived > &thenMatrix, const typename ThenDerived::Scalar &elseScalar) const |
Version of DenseBase::select(const DenseBase&, const DenseBase&) with the else expression being a scalar value. | |
template<typename ElseDerived > | |
const Select< Derived, typename ElseDerived::ConstantReturnType, ElseDerived > | select (const typename ElseDerived::Scalar &thenScalar, const DenseBase< ElseDerived > &elseMatrix) const |
Version of DenseBase::select(const DenseBase&, const DenseBase&) with the then expression being a scalar value. | |
template<int p> | |
RealScalar | lpNorm () const |
template<int RowFactor, int ColFactor> | |
EIGEN_DEVICE_FUNC const Replicate< Derived, RowFactor, ColFactor > | replicate () const |
EIGEN_DEVICE_FUNC const Replicate< Derived, Dynamic, Dynamic > | replicate (Index rowFactor, Index colFactor) const |
EIGEN_DEVICE_FUNC ReverseReturnType | reverse () |
EIGEN_DEVICE_FUNC ConstReverseReturnType | reverse () const |
This is the const version of reverse(). | |
EIGEN_DEVICE_FUNC void | reverseInPlace () |
This is the "in place" version of reverse: it reverses *this . | |
template<typename Dest > | |
EIGEN_DEVICE_FUNC void | evalTo (Dest &) const |
template<typename OtherDerived > | |
EIGEN_STRONG_INLINE Derived & | lazyAssign (const DenseBase< OtherDerived > &other) |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & | operator= (const DenseBase< OtherDerived > &other) |
template<typename OtherDerived > | |
CommaInitializer< Derived > | operator<< (const DenseBase< OtherDerived > &other) |
template<typename CustomNullaryOp > | |
EIGEN_STRONG_INLINE const CwiseNullaryOp< CustomNullaryOp, typename DenseBase< Derived >::PlainObject > | NullaryExpr (Index rows, Index cols, const CustomNullaryOp &func) |
template<typename CustomNullaryOp > | |
EIGEN_STRONG_INLINE const CwiseNullaryOp< CustomNullaryOp, typename DenseBase< Derived >::PlainObject > | NullaryExpr (Index size, const CustomNullaryOp &func) |
template<typename CustomNullaryOp > | |
EIGEN_STRONG_INLINE const CwiseNullaryOp< CustomNullaryOp, typename DenseBase< Derived >::PlainObject > | NullaryExpr (const CustomNullaryOp &func) |
template<typename OtherDerived > | |
Derived & | operator= (const EigenBase< OtherDerived > &other) |
Copies the generic expression other into *this. | |
template<typename OtherDerived > | |
Derived & | operator+= (const EigenBase< OtherDerived > &other) |
template<typename OtherDerived > | |
Derived & | operator-= (const EigenBase< OtherDerived > &other) |
template<typename OtherDerived > | |
bool | isApprox (const DenseBase< OtherDerived > &other, const RealScalar &prec) const |
template<typename Derived > | |
bool | isMuchSmallerThan (const typename NumTraits< Scalar >::Real &other, const RealScalar &prec) const |
template<typename OtherDerived > | |
bool | isMuchSmallerThan (const DenseBase< OtherDerived > &other, const RealScalar &prec) const |
template<typename Func > | |
internal::traits< Derived >::Scalar | redux (const Func &func) const |
template<int RowFactor, int ColFactor> | |
const Replicate< Derived, RowFactor, ColFactor > | replicate () const |
template<typename OtherDerived > | |
Derived & | operator= (const ReturnByValue< OtherDerived > &other) |
void | operator* (dummy) const |
void | operator/ (dummy) const |
![]() | |
void | operator* (dummy) const |
void | operator/ (dummy) const |
Protected Member Functions | |
template<typename OtherDerived > | |
Derived & | operator+= (const MatrixBase< OtherDerived > &) |
template<typename OtherDerived > | |
Derived & | operator-= (const MatrixBase< OtherDerived > &) |
![]() | |
EIGEN_DEVICE_FUNC | DenseBase () |
Default constructor. | |
Base class for all 1D and 2D array, and related expressions.
An array is similar to a dense vector or matrix. While matrices are mathematical objects with well defined linear algebra operators, an array is just a collection of scalar values arranged in a one or two dimensionnal fashion. As the main consequence, all operations applied to an array are performed coefficient wise. Furthermore, arrays support scalar math functions of the c++ standard library (e.g., std::sin(x)), and convenient constructors allowing to easily write generic code working for both scalar values and arrays.
This class is the base that is inherited by all array expression types.
Derived | is the derived type, e.g., an array or an expression type. |
This class can be extended with the help of the plugin mechanism described on the page TopicCustomizingEigen by defining the preprocessor symbol EIGEN_ARRAYBASE_PLUGIN
.
EIGEN_DEVICE_FUNC Derived & Eigen::DenseBase< Derived >::lazyAssign | ( | const DenseBase< OtherDerived > & | other | ) |
\ínternal Copies other into *this without evaluating other.
|
inline |
EIGEN_STRONG_INLINE Derived & Eigen::ArrayBase< Derived >::operator*= | ( | const ArrayBase< OtherDerived > & | other | ) |
replaces *this
by *this
* other coefficient wise.
*this
EIGEN_STRONG_INLINE Derived & Eigen::ArrayBase< Derived >::operator+= | ( | const ArrayBase< OtherDerived > & | other | ) |
replaces *this
by *this
+ other.
*this
EIGEN_STRONG_INLINE Derived & Eigen::ArrayBase< Derived >::operator-= | ( | const ArrayBase< OtherDerived > & | other | ) |
replaces *this
by *this
- other.
*this
EIGEN_STRONG_INLINE Derived & Eigen::ArrayBase< Derived >::operator/= | ( | const ArrayBase< OtherDerived > & | other | ) |
replaces *this
by *this
/ other coefficient wise.
*this
EIGEN_DEVICE_FUNC Derived & Eigen::DenseBase< Derived >::operator= | ( | const DenseBase< OtherDerived > & | other | ) |
Copies other into *this.
Derived & Eigen::DenseBase< Derived >::operator= | ( | const EigenBase< OtherDerived > & | other | ) |
Copies the generic expression other into *this.
The expression must provide a (templated) evalTo(Derived& dst) const function which does the actual job. In practice, this allows any user to write its own special matrix without having to modify MatrixBase
|
inline |
Set all the entries to value.