Shapeworks Studio  2.1
Shape analysis software suite
List of all members | Public Types | Public Member Functions | Protected Member Functions | Friends
Eigen::ArrayBase< Derived > Class Template Reference

Base class for all 1D and 2D array, and related expressions. More...

#include <ArrayBase.h>

+ Inheritance diagram for Eigen::ArrayBase< Derived >:
+ Collaboration diagram for Eigen::ArrayBase< Derived >:

Public Types

typedef ArrayBase StorageBaseType
 
typedef ArrayBase Eigen_BaseClassForSpecializationOfGlobalMathFuncImpl
 
typedef internal::traits< Derived >::StorageKind StorageKind
 
typedef internal::traits< Derived >::Index Index
 
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 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 >::MaxColsAtCompileTimePlainObject
 
typedef CwiseNullaryOp< internal::scalar_constant_op< Scalar >, Derived > ConstantReturnType
 
typedef CwiseUnaryOp< internal::scalar_multiple_op< Scalar >, const Derived > ScalarMultipleReturnType
 
typedef CwiseUnaryOp< internal::scalar_quotient1_op< Scalar >, const Derived > ScalarQuotient1ReturnType
 
typedef internal::conditional< NumTraits< Scalar >::IsComplex, const CwiseUnaryOp< internal::scalar_conjugate_op< Scalar >, const Derived >, const Derived & >::type ConjugateReturnType
 
typedef internal::conditional< NumTraits< Scalar >::IsComplex, const CwiseUnaryOp< internal::scalar_real_op< Scalar >, const Derived >, const Derived & >::type RealReturnType
 
typedef internal::conditional< NumTraits< Scalar >::IsComplex, CwiseUnaryView< internal::scalar_real_ref_op< Scalar >, Derived >, Derived & >::type NonConstRealReturnType
 
typedef CwiseUnaryOp< internal::scalar_imag_op< Scalar >, const Derived > ImagReturnType
 
typedef CwiseUnaryView< internal::scalar_imag_ref_op< Scalar >, Derived > NonConstImagReturnType
 
- Public Types inherited from Eigen::DenseBase< Derived >
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, CoeffReadCost = internal::traits<Derived>::CoeffReadCost, InnerStrideAtCompileTime = internal::inner_stride_at_compile_time<Derived>::ret,
  OuterStrideAtCompileTime = internal::outer_stride_at_compile_time<Derived>::ret
}
 
enum  { ThisConstantIsPrivateInPlainObjectBase }
 
typedef internal::traits< Derived >::StorageKind StorageKind
 
typedef internal::traits< Derived >::Index Index
 The type of indices. More...
 
typedef internal::traits< Derived >::Scalar Scalar
 
typedef internal::packet_traits< Scalar >::type PacketScalar
 
typedef NumTraits< Scalar >::Real RealScalar
 
typedef DenseCoeffsBase< Derived > Base
 
typedef Base::CoeffReturnType CoeffReturnType
 
typedef CwiseNullaryOp< internal::scalar_constant_op< Scalar >, Derived > ConstantReturnType
 
typedef CwiseNullaryOp< internal::linspaced_op< Scalar, false >, Derived > SequentialLinSpacedReturnType
 
typedef CwiseNullaryOp< internal::linspaced_op< Scalar, true >, Derived > RandomAccessLinSpacedReturnType
 
typedef Matrix< typename NumTraits< typename internal::traits< Derived >::Scalar >::Real, internal::traits< Derived >::ColsAtCompileTime, 1 > EigenvaluesReturnType
 
typedef internal::add_const< Transpose< const Derived > >::type ConstTransposeReturnType
 
typedef internal::add_const_on_value_type< typename internal::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 Reverse< Derived, BothDirections > ReverseReturnType
 
typedef const Reverse< const Derived, BothDirections > ConstReverseReturnType
 
typedef Block< Derived, internal::traits< Derived >::RowsAtCompileTime, 1,!IsRowMajorColXpr
 
typedef const Block< const Derived, internal::traits< Derived >::RowsAtCompileTime, 1,!IsRowMajorConstColXpr
 
typedef Block< Derived, 1, internal::traits< Derived >::ColsAtCompileTime, IsRowMajorRowXpr
 
typedef const Block< const Derived, 1, internal::traits< Derived >::ColsAtCompileTime, IsRowMajorConstRowXpr
 
typedef Block< Derived, internal::traits< Derived >::RowsAtCompileTime, Dynamic,!IsRowMajorColsBlockXpr
 
typedef const Block< const Derived, internal::traits< Derived >::RowsAtCompileTime, Dynamic,!IsRowMajorConstColsBlockXpr
 
typedef Block< Derived, Dynamic, internal::traits< Derived >::ColsAtCompileTime, IsRowMajorRowsBlockXpr
 
typedef const Block< const Derived, Dynamic, internal::traits< Derived >::ColsAtCompileTime, IsRowMajorConstRowsBlockXpr
 
typedef VectorBlock< Derived > SegmentReturnType
 
typedef const VectorBlock< const Derived > ConstSegmentReturnType
 

Public Member Functions

const CwiseUnaryOp< internal::scalar_opposite_op< typename internal::traits< Derived >::Scalar >, const Derived > operator- () const
 
const ScalarMultipleReturnType operator* (const Scalar &scalar) const
 
const CwiseUnaryOp< internal::scalar_quotient1_op< typename internal::traits< Derived >::Scalar >, const Derived > operator/ (const Scalar &scalar) const
 
const CwiseUnaryOp< internal::scalar_multiple2_op< Scalar, std::complex< Scalar > >, const Derived > operator* (const std::complex< Scalar > &scalar) const
 
template<typename NewType >
internal::cast_return_type< Derived, const CwiseUnaryOp< internal::scalar_cast_op< typename internal::traits< Derived >::Scalar, NewType >, const Derived > >::type cast () const
 
ConjugateReturnType conjugate () const
 
RealReturnType real () const
 
const ImagReturnType imag () const
 
template<typename CustomUnaryOp >
const CwiseUnaryOp< CustomUnaryOp, const Derived > unaryExpr (const CustomUnaryOp &func=CustomUnaryOp()) const
 Apply a unary operator coefficient-wise. More...
 
template<typename CustomViewOp >
const CwiseUnaryView< CustomViewOp, const Derived > unaryViewExpr (const CustomViewOp &func=CustomViewOp()) const
 
NonConstRealReturnType real ()
 
NonConstImagReturnType imag ()
 
EIGEN_STRONG_INLINE const CwiseUnaryOp< internal::scalar_abs_op< Scalar >, const Derived > cwiseAbs () const
 
EIGEN_STRONG_INLINE const CwiseUnaryOp< internal::scalar_abs2_op< Scalar >, const Derived > cwiseAbs2 () const
 
const CwiseUnaryOp< internal::scalar_sqrt_op< Scalar >, const Derived > cwiseSqrt () const
 
const CwiseUnaryOp< internal::scalar_inverse_op< Scalar >, const Derived > cwiseInverse () const
 
const CwiseUnaryOp< std::binder1st< std::equal_to< Scalar > >, const Derived > cwiseEqual (const Scalar &s) const
 
EIGEN_STRONG_INLINE const CwiseUnaryOp< internal::scalar_abs_op< Scalar >, const Derived > abs () const
 
EIGEN_STRONG_INLINE const CwiseUnaryOp< internal::scalar_abs2_op< Scalar >, const Derived > abs2 () const
 
const CwiseUnaryOp< internal::scalar_exp_op< Scalar >, const Derived > exp () const
 
const CwiseUnaryOp< internal::scalar_log_op< Scalar >, const Derived > log () const
 
const CwiseUnaryOp< internal::scalar_sqrt_op< Scalar >, const Derived > sqrt () const
 
const CwiseUnaryOp< internal::scalar_cos_op< Scalar >, const Derived > cos () const
 
const CwiseUnaryOp< internal::scalar_sin_op< Scalar >, const Derived > sin () const
 
const CwiseUnaryOp< internal::scalar_acos_op< Scalar >, const Derived > acos () const
 
const CwiseUnaryOp< internal::scalar_asin_op< Scalar >, const Derived > asin () const
 
const CwiseUnaryOp< internal::scalar_tan_op< Scalar >, Derived > tan () const
 
const CwiseUnaryOp< internal::scalar_pow_op< Scalar >, const Derived > pow (const Scalar &exponent) const
 
const CwiseUnaryOp< internal::scalar_inverse_op< Scalar >, const Derived > inverse () const
 
const CwiseUnaryOp< internal::scalar_square_op< Scalar >, const Derived > square () const
 
const CwiseUnaryOp< internal::scalar_cube_op< Scalar >, const Derived > cube () const
 
template<typename CustomBinaryOp , typename OtherDerived >
EIGEN_STRONG_INLINE const CwiseBinaryOp< CustomBinaryOp, const Derived, const OtherDerived > binaryExpr (const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &other, const CustomBinaryOp &func=CustomBinaryOp()) const
 
template<typename OtherDerived >
EIGEN_STRONG_INLINE const EIGEN_CWISE_PRODUCT_RETURN_TYPE (Derived, OtherDerived) cwiseProduct(const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &other) const
 
template<typename OtherDerived >
const CwiseBinaryOp< std::equal_to< Scalar >, const Derived, const OtherDerived > cwiseEqual (const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &other) const
 
template<typename OtherDerived >
const CwiseBinaryOp< std::not_equal_to< Scalar >, const Derived, const OtherDerived > cwiseNotEqual (const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &other) const
 
template<typename OtherDerived >
EIGEN_STRONG_INLINE const CwiseBinaryOp< internal::scalar_min_op< Scalar >, const Derived, const OtherDerived > cwiseMin (const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &other) const
 
EIGEN_STRONG_INLINE const CwiseBinaryOp< internal::scalar_min_op< Scalar >, const Derived, const ConstantReturnTypecwiseMin (const Scalar &other) const
 
template<typename OtherDerived >
EIGEN_STRONG_INLINE const CwiseBinaryOp< internal::scalar_max_op< Scalar >, const Derived, const OtherDerived > cwiseMax (const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &other) const
 
EIGEN_STRONG_INLINE const CwiseBinaryOp< internal::scalar_max_op< Scalar >, const Derived, const ConstantReturnTypecwiseMax (const Scalar &other) const
 
template<typename OtherDerived >
EIGEN_STRONG_INLINE const CwiseBinaryOp< internal::scalar_quotient_op< Scalar >, const Derived, const OtherDerived > cwiseQuotient (const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &other) const
 
template<typename OtherDerived >
EIGEN_STRONG_INLINE const EIGEN_CWISE_PRODUCT_RETURN_TYPE (Derived, OtherDerived) operator*(const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &other) const
 
template<typename OtherDerived >
EIGEN_STRONG_INLINE const CwiseBinaryOp< internal::scalar_quotient_op< Scalar >, const Derived, const OtherDerived > operator/ (const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &other) const
 
EIGEN_STRONG_INLINE const CwiseBinaryOp (min)(const Scalar &other) const
 
EIGEN_STRONG_INLINE const CwiseBinaryOp (max)(const Scalar &other) const
 
const CwiseUnaryOp< internal::scalar_add_op< Scalar >, const Derived > operator+ (const Scalar &scalar) const
 
const CwiseUnaryOp< internal::scalar_add_op< Scalar >, const Derived > operator- (const Scalar &scalar) const
 
template<typename OtherDerived >
const CwiseBinaryOp< internal::scalar_boolean_and_op, const Derived, const OtherDerived > operator&& (const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &other) const
 
template<typename OtherDerived >
const CwiseBinaryOp< internal::scalar_boolean_or_op, const Derived, const OtherDerived > operator|| (const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &other) const
 
Derived & operator= (const ArrayBase &other)
 
Derived & operator+= (const Scalar &scalar)
 
Derived & operator-= (const Scalar &scalar)
 
template<typename OtherDerived >
Derived & operator+= (const ArrayBase< OtherDerived > &other)
 
template<typename OtherDerived >
Derived & operator-= (const ArrayBase< OtherDerived > &other)
 
template<typename OtherDerived >
Derived & operator*= (const ArrayBase< OtherDerived > &other)
 
template<typename OtherDerived >
Derived & operator/= (const ArrayBase< OtherDerived > &other)
 
ArrayBase< Derived > & array ()
 
const ArrayBase< Derived > & array () const
 
MatrixWrapper< Derived > matrix ()
 
const MatrixWrapper< const Derived > matrix () const
 
template<typename OtherDerived >
EIGEN_STRONG_INLINE Derived & operator-= (const ArrayBase< OtherDerived > &other)
 
template<typename OtherDerived >
EIGEN_STRONG_INLINE Derived & operator+= (const ArrayBase< OtherDerived > &other)
 
template<typename OtherDerived >
EIGEN_STRONG_INLINE Derived & operator*= (const ArrayBase< OtherDerived > &other)
 
template<typename OtherDerived >
EIGEN_STRONG_INLINE Derived & operator/= (const ArrayBase< OtherDerived > &other)
 
- Public Member Functions inherited from Eigen::DenseBase< Derived >
Index nonZeros () const
 
Index outerSize () const
 
Index innerSize () const
 
void resize (Index newSize)
 
void resize (Index nbRows, Index nbCols)
 
template<typename OtherDerived >
Derived & operator= (const DenseBase< OtherDerived > &other)
 
Derived & operator= (const DenseBase &other)
 
template<typename OtherDerived >
Derived & operator= (const EigenBase< OtherDerived > &other)
 Copies the generic expression other into *this. More...
 
template<typename OtherDerived >
Derived & operator+= (const EigenBase< OtherDerived > &other)
 
template<typename OtherDerived >
Derived & operator-= (const EigenBase< OtherDerived > &other)
 
template<typename OtherDerived >
Derived & operator= (const ReturnByValue< OtherDerived > &func)
 
template<typename OtherDerived >
Derived & lazyAssign (const DenseBase< OtherDerived > &other)
 
CommaInitializer< Derived > operator<< (const Scalar &s)
 
template<unsigned int Added, unsigned int Removed>
const Flagged< Derived, Added, Removed > flagged () const
 
template<typename OtherDerived >
CommaInitializer< Derived > operator<< (const DenseBase< OtherDerived > &other)
 
Eigen::Transpose< Derived > transpose ()
 
ConstTransposeReturnType transpose () const
 
void transposeInPlace ()
 
void fill (const Scalar &value)
 
Derived & setConstant (const Scalar &value)
 
Derived & setLinSpaced (Index size, const Scalar &low, const Scalar &high)
 Sets a linearly space vector. More...
 
Derived & setLinSpaced (const Scalar &low, const Scalar &high)
 Sets a linearly space vector. More...
 
Derived & setZero ()
 
Derived & setOnes ()
 
Derived & setRandom ()
 
template<typename OtherDerived >
bool isApprox (const DenseBase< OtherDerived > &other, const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const
 
bool isMuchSmallerThan (const RealScalar &other, const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const
 
template<typename OtherDerived >
bool isMuchSmallerThan (const DenseBase< OtherDerived > &other, const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const
 
bool isApproxToConstant (const Scalar &value, const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const
 
bool isConstant (const Scalar &value, const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const
 
bool isZero (const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const
 
bool isOnes (const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const
 
bool hasNaN () const
 
bool allFinite () const
 
Derived & operator*= (const Scalar &other)
 
Derived & operator/= (const Scalar &other)
 
EIGEN_STRONG_INLINE EvalReturnType eval () const
 
template<typename OtherDerived >
void swap (const DenseBase< OtherDerived > &other, int=OtherDerived::ThisConstantIsPrivateInPlainObjectBase)
 
template<typename OtherDerived >
void swap (PlainObjectBase< OtherDerived > &other)
 
const NestByValue< Derived > nestByValue () const
 
const ForceAlignedAccess< Derived > forceAlignedAccess () const
 
ForceAlignedAccess< Derived > forceAlignedAccess ()
 
template<bool Enable>
const internal::conditional< Enable, ForceAlignedAccess< Derived >, Derived & >::type forceAlignedAccessIf () const
 
template<bool Enable>
internal::conditional< Enable, ForceAlignedAccess< Derived >, Derived & >::type forceAlignedAccessIf ()
 
Scalar sum () const
 
Scalar mean () const
 
Scalar trace () const
 
Scalar prod () const
 
internal::traits< Derived >::Scalar minCoeff () const
 
internal::traits< Derived >::Scalar maxCoeff () const
 
template<typename IndexType >
internal::traits< Derived >::Scalar minCoeff (IndexType *row, IndexType *col) const
 
template<typename IndexType >
internal::traits< Derived >::Scalar maxCoeff (IndexType *row, IndexType *col) const
 
template<typename IndexType >
internal::traits< Derived >::Scalar minCoeff (IndexType *index) const
 
template<typename IndexType >
internal::traits< Derived >::Scalar maxCoeff (IndexType *index) const
 
template<typename BinaryOp >
internal::result_of< BinaryOp(typename internal::traits< Derived >::Scalar)>::type redux (const BinaryOp &func) const
 
template<typename Visitor >
void visit (Visitor &func) const
 
const WithFormat< Derived > format (const IOFormat &fmt) const
 
CoeffReturnType value () const
 
bool all (void) const
 
bool any (void) const
 
Index count () const
 
ConstRowwiseReturnType rowwise () const
 
RowwiseReturnType rowwise ()
 
ConstColwiseReturnType colwise () const
 
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
 
template<typename ElseDerived >
const Select< Derived, typename ElseDerived::ConstantReturnType, ElseDerived > select (const typename ElseDerived::Scalar &thenScalar, const DenseBase< ElseDerived > &elseMatrix) const
 
template<int p>
RealScalar lpNorm () const
 
template<int RowFactor, int ColFactor>
const Replicate< Derived, RowFactor, ColFactor > replicate () const
 
const Replicate< Derived, Dynamic, Dynamic > replicate (Index rowFacor, Index colFactor) const
 
ReverseReturnType reverse ()
 
ConstReverseReturnType reverse () const
 
void reverseInPlace ()
 
Block< Derived > block (Index startRow, Index startCol, Index blockRows, Index blockCols)
 
const Block< const Derived > block (Index startRow, Index startCol, Index blockRows, Index blockCols) const
 
Block< Derived > topRightCorner (Index cRows, Index cCols)
 
const Block< const Derived > topRightCorner (Index cRows, Index cCols) const
 
template<int CRows, int CCols>
Block< Derived, CRows, CCols > topRightCorner ()
 
template<int CRows, int CCols>
const Block< const Derived, CRows, CCols > topRightCorner () const
 
template<int CRows, int CCols>
Block< Derived, CRows, CCols > topRightCorner (Index cRows, Index cCols)
 
template<int CRows, int CCols>
const Block< const Derived, CRows, CCols > topRightCorner (Index cRows, Index cCols) const
 
Block< Derived > topLeftCorner (Index cRows, Index cCols)
 
const Block< const Derived > topLeftCorner (Index cRows, Index cCols) const
 
template<int CRows, int CCols>
Block< Derived, CRows, CCols > topLeftCorner ()
 
template<int CRows, int CCols>
const Block< const Derived, CRows, CCols > topLeftCorner () const
 
template<int CRows, int CCols>
Block< Derived, CRows, CCols > topLeftCorner (Index cRows, Index cCols)
 
template<int CRows, int CCols>
const Block< const Derived, CRows, CCols > topLeftCorner (Index cRows, Index cCols) const
 
Block< Derived > bottomRightCorner (Index cRows, Index cCols)
 
const Block< const Derived > bottomRightCorner (Index cRows, Index cCols) const
 
template<int CRows, int CCols>
Block< Derived, CRows, CCols > bottomRightCorner ()
 
template<int CRows, int CCols>
const Block< const Derived, CRows, CCols > bottomRightCorner () const
 
template<int CRows, int CCols>
Block< Derived, CRows, CCols > bottomRightCorner (Index cRows, Index cCols)
 
template<int CRows, int CCols>
const Block< const Derived, CRows, CCols > bottomRightCorner (Index cRows, Index cCols) const
 
Block< Derived > bottomLeftCorner (Index cRows, Index cCols)
 
const Block< const Derived > bottomLeftCorner (Index cRows, Index cCols) const
 
template<int CRows, int CCols>
Block< Derived, CRows, CCols > bottomLeftCorner ()
 
template<int CRows, int CCols>
const Block< const Derived, CRows, CCols > bottomLeftCorner () const
 
template<int CRows, int CCols>
Block< Derived, CRows, CCols > bottomLeftCorner (Index cRows, Index cCols)
 
template<int CRows, int CCols>
const Block< const Derived, CRows, CCols > bottomLeftCorner (Index cRows, Index cCols) const
 
RowsBlockXpr topRows (Index n)
 
ConstRowsBlockXpr topRows (Index n) const
 
template<int N>
NRowsBlockXpr< N >::Type topRows ()
 
template<int N>
ConstNRowsBlockXpr< N >::Type topRows () const
 
RowsBlockXpr bottomRows (Index n)
 
ConstRowsBlockXpr bottomRows (Index n) const
 
template<int N>
NRowsBlockXpr< N >::Type bottomRows ()
 
template<int N>
ConstNRowsBlockXpr< N >::Type bottomRows () const
 
RowsBlockXpr middleRows (Index startRow, Index numRows)
 
ConstRowsBlockXpr middleRows (Index startRow, Index numRows) const
 
template<int N>
NRowsBlockXpr< N >::Type middleRows (Index startRow)
 
template<int N>
ConstNRowsBlockXpr< N >::Type middleRows (Index startRow) const
 
ColsBlockXpr leftCols (Index n)
 
ConstColsBlockXpr leftCols (Index n) const
 
template<int N>
NColsBlockXpr< N >::Type leftCols ()
 
template<int N>
ConstNColsBlockXpr< N >::Type leftCols () const
 
ColsBlockXpr rightCols (Index n)
 
ConstColsBlockXpr rightCols (Index n) const
 
template<int N>
NColsBlockXpr< N >::Type rightCols ()
 
template<int N>
ConstNColsBlockXpr< N >::Type rightCols () const
 
ColsBlockXpr middleCols (Index startCol, Index numCols)
 
ConstColsBlockXpr middleCols (Index startCol, Index numCols) const
 
template<int N>
NColsBlockXpr< N >::Type middleCols (Index startCol)
 
template<int N>
ConstNColsBlockXpr< N >::Type middleCols (Index startCol) const
 
template<int BlockRows, int BlockCols>
Block< Derived, BlockRows, BlockCols > block (Index startRow, Index startCol)
 
template<int BlockRows, int BlockCols>
const Block< const Derived, BlockRows, BlockCols > block (Index startRow, Index startCol) const
 
template<int BlockRows, int BlockCols>
Block< Derived, BlockRows, BlockCols > block (Index startRow, Index startCol, Index blockRows, Index blockCols)
 
template<int BlockRows, int BlockCols>
const Block< const Derived, BlockRows, BlockCols > block (Index startRow, Index startCol, Index blockRows, Index blockCols) const
 
ColXpr col (Index i)
 
ConstColXpr col (Index i) const
 
RowXpr row (Index i)
 
ConstRowXpr row (Index i) const
 
SegmentReturnType segment (Index start, Index vecSize)
 
ConstSegmentReturnType segment (Index start, Index vecSize) const
 
SegmentReturnType head (Index vecSize)
 
ConstSegmentReturnType head (Index vecSize) const
 
SegmentReturnType tail (Index vecSize)
 
ConstSegmentReturnType tail (Index vecSize) const
 
template<int Size>
FixedSegmentReturnType< Size >::Type segment (Index start)
 
template<int Size>
ConstFixedSegmentReturnType< Size >::Type segment (Index start) const
 
template<int Size>
FixedSegmentReturnType< Size >::Type head ()
 
template<int Size>
ConstFixedSegmentReturnType< Size >::Type head () const
 
template<int Size>
FixedSegmentReturnType< Size >::Type tail ()
 
template<int Size>
ConstFixedSegmentReturnType< Size >::Type tail () const
 
template<typename Dest >
void evalTo (Dest &) const
 
template<typename OtherDerived >
EIGEN_STRONG_INLINE Derived & lazyAssign (const DenseBase< OtherDerived > &other)
 
template<typename OtherDerived >
EIGEN_STRONG_INLINE Derived & operator= (const DenseBase< OtherDerived > &other)
 
template<typename CustomNullaryOp >
EIGEN_STRONG_INLINE const CwiseNullaryOp< CustomNullaryOp, Derived > NullaryExpr (Index rows, Index cols, const CustomNullaryOp &func)
 
template<typename CustomNullaryOp >
EIGEN_STRONG_INLINE const CwiseNullaryOp< CustomNullaryOp, Derived > NullaryExpr (Index size, const CustomNullaryOp &func)
 
template<typename CustomNullaryOp >
EIGEN_STRONG_INLINE const CwiseNullaryOp< CustomNullaryOp, Derived > NullaryExpr (const CustomNullaryOp &func)
 
template<typename Derived >
bool isMuchSmallerThan (const typename NumTraits< Scalar >::Real &other, const RealScalar &prec) const
 
template<typename Func >
EIGEN_STRONG_INLINE internal::result_of< Func(typename internal::traits< Derived >::Scalar)>::type redux (const Func &func) const
 
- Public Member Functions inherited from Eigen::internal::special_scalar_op_base< Derived, internal::traits< Derived >::Scalar, NumTraits< internal::traits< Derived >::Scalar >::Real >
void operator* () const
 

Protected Member Functions

template<typename OtherDerived >
Derived & operator+= (const MatrixBase< OtherDerived > &)
 
template<typename OtherDerived >
Derived & operator-= (const MatrixBase< OtherDerived > &)
 
- Protected Member Functions inherited from Eigen::DenseBase< Derived >
template<typename OtherDerived >
void checkTransposeAliasing (const OtherDerived &other) const
 
 DenseBase ()
 

Friends

const ScalarMultipleReturnType operator* (const Scalar &scalar, const StorageBaseType &matrix)
 
const CwiseUnaryOp< internal::scalar_multiple2_op< Scalar, std::complex< Scalar > >, const Derived > operator* (const std::complex< Scalar > &scalar, const StorageBaseType &matrix)
 
const CwiseUnaryOp< internal::scalar_add_op< Scalar >, const Derived > operator+ (const Scalar &scalar, const EIGEN_CURRENT_STORAGE_BASE_CLASS< Derived > &other)
 
const CwiseUnaryOp< internal::scalar_add_op< Scalar >, const CwiseUnaryOp< internal::scalar_opposite_op< Scalar >, const Derived > > operator- (const Scalar &scalar, const EIGEN_CURRENT_STORAGE_BASE_CLASS< Derived > &other)
 

Additional Inherited Members

- Static Public Member Functions inherited from Eigen::DenseBase< Derived >
static const ConstantReturnType Constant (Index rows, Index cols, const Scalar &value)
 
static const ConstantReturnType Constant (Index size, const Scalar &value)
 
static const ConstantReturnType Constant (const Scalar &value)
 
static const SequentialLinSpacedReturnType LinSpaced (Sequential_t, Index size, const Scalar &low, const Scalar &high)
 Sets a linearly space vector. More...
 
static const RandomAccessLinSpacedReturnType LinSpaced (Index size, const Scalar &low, const Scalar &high)
 Sets a linearly space vector. More...
 
static const SequentialLinSpacedReturnType LinSpaced (Sequential_t, const Scalar &low, const Scalar &high)
 Sets a linearly space vector. More...
 
static const RandomAccessLinSpacedReturnType LinSpaced (const Scalar &low, const Scalar &high)
 Sets a linearly space vector. More...
 
template<typename CustomNullaryOp >
static const CwiseNullaryOp< CustomNullaryOp, Derived > NullaryExpr (Index rows, Index cols, const CustomNullaryOp &func)
 
template<typename CustomNullaryOp >
static const CwiseNullaryOp< CustomNullaryOp, Derived > NullaryExpr (Index size, const CustomNullaryOp &func)
 
template<typename CustomNullaryOp >
static const CwiseNullaryOp< CustomNullaryOp, Derived > NullaryExpr (const CustomNullaryOp &func)
 
static const ConstantReturnType Zero (Index rows, Index cols)
 
static const ConstantReturnType Zero (Index size)
 
static const ConstantReturnType Zero ()
 
static const ConstantReturnType Ones (Index rows, Index cols)
 
static const ConstantReturnType Ones (Index size)
 
static const ConstantReturnType Ones ()
 
static const CwiseNullaryOp< internal::scalar_random_op< Scalar >, Derived > Random (Index rows, Index cols)
 
static const CwiseNullaryOp< internal::scalar_random_op< Scalar >, Derived > Random (Index size)
 
static const CwiseNullaryOp< internal::scalar_random_op< Scalar >, Derived > Random ()
 

Detailed Description

template<typename Derived>
class Eigen::ArrayBase< Derived >

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.

Template Parameters
Derivedis 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.

See also
class MatrixBase, TopicClassHierarchy

Definition at line 39 of file ArrayBase.h.

Member Typedef Documentation

template<typename Derived>
typedef ArrayBase Eigen::ArrayBase< Derived >::StorageBaseType

The base class for a given storage type.

Definition at line 45 of file ArrayBase.h.

Member Function Documentation

template<typename Derived>
EIGEN_STRONG_INLINE const CwiseUnaryOp<internal::scalar_abs_op<Scalar>, const Derived> Eigen::ArrayBase< Derived >::abs ( ) const
inline
Returns
an expression of the coefficient-wise absolute value of *this

Example:

Output:

See also
abs2()

Definition at line 12 of file ArrayBase.h.

13  {
14 
15 template<typename ExpressionType> class MatrixWrapper;
template<typename Derived>
EIGEN_STRONG_INLINE const CwiseUnaryOp<internal::scalar_abs2_op<Scalar>, const Derived> Eigen::ArrayBase< Derived >::abs2 ( ) const
inline
Returns
an expression of the coefficient-wise squared absolute value of *this

Example:

Output:

See also
abs(), square()

Definition at line 25 of file ArrayBase.h.

40  : public DenseBase<Derived>
template<typename Derived>
const CwiseUnaryOp<internal::scalar_acos_op<Scalar>, const Derived> Eigen::ArrayBase< Derived >::acos ( ) const
inline
Returns
an expression of the coefficient-wise arc cosine of *this.

Example:

Output:

See also
cos(), asin()

Definition at line 104 of file ArrayBase.h.

122  {
template<typename Derived>
const CwiseUnaryOp<internal::scalar_asin_op<Scalar>, const Derived> Eigen::ArrayBase< Derived >::asin ( ) const
inline
Returns
an expression of the coefficient-wise arc sine of *this.

Example:

Output:

See also
sin(), acos()

Definition at line 117 of file ArrayBase.h.

122  {
template<typename Derived>
template<typename CustomBinaryOp , typename OtherDerived >
EIGEN_STRONG_INLINE const CwiseBinaryOp<CustomBinaryOp, const Derived, const OtherDerived> Eigen::ArrayBase< Derived >::binaryExpr ( const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &  other,
const CustomBinaryOp &  func = CustomBinaryOp() 
) const
inline
Returns
an expression of the difference of *this and other
Note
If you want to substract a given scalar from all coefficients, see Cwise::operator-().
See also
class CwiseBinaryOp, operator-=()
Returns
an expression of the sum of *this and other
Note
If you want to add a given scalar to all coefficients, see Cwise::operator+().
See also
class CwiseBinaryOp, operator+=()
Returns
an expression of a custom coefficient-wise operator func of *this and other

The template parameter CustomBinaryOp is the type of the functor of the custom operator (see class CwiseBinaryOp for an example)

Here is an example illustrating the use of custom functors:

Output:

See also
class CwiseBinaryOp, operator+(), operator-(), cwiseProduct()

Definition at line 43 of file ArrayBase.h.

template<typename Derived>
template<typename NewType >
internal::cast_return_type<Derived,const CwiseUnaryOp<internal::scalar_cast_op<typename internal::traits<Derived>::Scalar, NewType>, const Derived> >::type Eigen::ArrayBase< Derived >::cast ( ) const
inline
Returns
an expression of *this with the Scalar type casted to NewScalar.

The template parameter NewScalar is the type we are casting the scalars to.

See also
class CwiseUnaryOp

Definition at line 93 of file ArrayBase.h.

template<typename Derived>
ConjugateReturnType Eigen::ArrayBase< Derived >::conjugate ( ) const
inline
Returns
an expression of the complex conjugate of *this.
See also
adjoint()

Definition at line 102 of file ArrayBase.h.

template<typename Derived>
const CwiseUnaryOp<internal::scalar_cos_op<Scalar>, const Derived> Eigen::ArrayBase< Derived >::cos ( ) const
inline
Returns
an expression of the coefficient-wise cosine of *this.

Example:

Output:

See also
sin(), acos()

Definition at line 77 of file ArrayBase.h.

template<typename Derived>
const CwiseUnaryOp<internal::scalar_cube_op<Scalar>, const Derived> Eigen::ArrayBase< Derived >::cube ( ) const
inline
Returns
an expression of the coefficient-wise cube of *this.

Example:

Output:

See also
square(), pow()

Definition at line 185 of file ArrayBase.h.

template<typename Derived>
EIGEN_STRONG_INLINE const CwiseUnaryOp<internal::scalar_abs_op<Scalar>, const Derived> Eigen::ArrayBase< Derived >::cwiseAbs ( ) const
inline
Returns
an expression of the coefficient-wise absolute value of *this

Example:

Output:

See also
cwiseAbs2()

Definition at line 22 of file ArrayBase.h.

template<typename Derived>
EIGEN_STRONG_INLINE const CwiseUnaryOp<internal::scalar_abs2_op<Scalar>, const Derived> Eigen::ArrayBase< Derived >::cwiseAbs2 ( ) const
inline
Returns
an expression of the coefficient-wise squared absolute value of *this

Example:

Output:

See also
cwiseAbs()

Definition at line 32 of file ArrayBase.h.

40 : public DenseBase<Derived>
template<typename Derived>
EIGEN_STRONG_INLINE const Eigen::ArrayBase< Derived >::CwiseBinaryOp ( min  ) const
inline
Returns
an expression of the coefficient-wise min of *this and other

Example:

Output:

See also
max()
Returns
an expression of the coefficient-wise min of *this and scalar other
See also
max()

Definition at line 42 of file ArrayBase.h.

42  :
43 #ifndef EIGEN_PARSED_BY_DOXYGEN
44 
45  typedef ArrayBase StorageBaseType;
46 
47  typedef ArrayBase Eigen_BaseClassForSpecializationOfGlobalMathFuncImpl;
ArrayBase StorageBaseType
Definition: ArrayBase.h:45
template<typename Derived>
EIGEN_STRONG_INLINE const Eigen::ArrayBase< Derived >::CwiseBinaryOp ( max  ) const
inline
Returns
an expression of the coefficient-wise max of *this and other

Example:

Output:

See also
min()
Returns
an expression of the coefficient-wise max of *this and scalar other
See also
min()

Definition at line 67 of file ArrayBase.h.

template<typename Derived>
template<typename OtherDerived >
const CwiseBinaryOp<std::equal_to<Scalar>, const Derived, const OtherDerived> Eigen::ArrayBase< Derived >::cwiseEqual ( const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &  other) const
inline
Returns
an expression of the coefficient-wise == operator of *this and other
Warning
this performs an exact comparison, which is generally a bad idea with floating-point types. In order to check for equality between two vectors or matrices with floating-point coefficients, it is generally a far better idea to use a fuzzy comparison as provided by isApprox() and isMuchSmallerThan().

Example:

Output:

See also
cwiseNotEqual(), isApprox(), isMuchSmallerThan()

Definition at line 42 of file ArrayBase.h.

42  :
43 #ifndef EIGEN_PARSED_BY_DOXYGEN
44 
45  typedef ArrayBase StorageBaseType;
ArrayBase StorageBaseType
Definition: ArrayBase.h:45
template<typename Derived>
const CwiseUnaryOp<std::binder1st<std::equal_to<Scalar> >, const Derived> Eigen::ArrayBase< Derived >::cwiseEqual ( const Scalar &  s) const
inline
Returns
an expression of the coefficient-wise == operator of *this and a scalar s
Warning
this performs an exact comparison, which is generally a bad idea with floating-point types. In order to check for equality between two vectors or matrices with floating-point coefficients, it is generally a far better idea to use a fuzzy comparison as provided by isApprox() and isMuchSmallerThan().
See also
cwiseEqual(const MatrixBase<OtherDerived> &) const

Definition at line 64 of file ArrayBase.h.

template<typename Derived>
const CwiseUnaryOp<internal::scalar_inverse_op<Scalar>, const Derived> Eigen::ArrayBase< Derived >::cwiseInverse ( ) const
inline
Returns
an expression of the coefficient-wise inverse of *this.

Example:

Output:

See also
cwiseProduct()

Definition at line 52 of file ArrayBase.h.

template<typename Derived>
template<typename OtherDerived >
EIGEN_STRONG_INLINE const CwiseBinaryOp<internal::scalar_max_op<Scalar>, const Derived, const OtherDerived> Eigen::ArrayBase< Derived >::cwiseMax ( const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &  other) const
inline
Returns
an expression of the coefficient-wise max of *this and other

Example:

Output:

See also
class CwiseBinaryOp, min()

Definition at line 99 of file ArrayBase.h.

template<typename Derived>
EIGEN_STRONG_INLINE const CwiseBinaryOp<internal::scalar_max_op<Scalar>, const Derived, const ConstantReturnType> Eigen::ArrayBase< Derived >::cwiseMax ( const Scalar &  other) const
inline
Returns
an expression of the coefficient-wise max of *this and scalar other
See also
class CwiseBinaryOp, min()

Definition at line 109 of file ArrayBase.h.

122  {
template<typename Derived>
template<typename OtherDerived >
EIGEN_STRONG_INLINE const CwiseBinaryOp<internal::scalar_min_op<Scalar>, const Derived, const OtherDerived> Eigen::ArrayBase< Derived >::cwiseMin ( const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &  other) const
inline
Returns
an expression of the coefficient-wise min of *this and other

Example:

Output:

See also
class CwiseBinaryOp, max()

Definition at line 75 of file ArrayBase.h.

template<typename Derived>
EIGEN_STRONG_INLINE const CwiseBinaryOp<internal::scalar_min_op<Scalar>, const Derived, const ConstantReturnType> Eigen::ArrayBase< Derived >::cwiseMin ( const Scalar &  other) const
inline
Returns
an expression of the coefficient-wise min of *this and scalar other
See also
class CwiseBinaryOp, min()

Definition at line 85 of file ArrayBase.h.

template<typename Derived>
template<typename OtherDerived >
const CwiseBinaryOp<std::not_equal_to<Scalar>, const Derived, const OtherDerived> Eigen::ArrayBase< Derived >::cwiseNotEqual ( const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &  other) const
inline
Returns
an expression of the coefficient-wise != operator of *this and other
Warning
this performs an exact comparison, which is generally a bad idea with floating-point types. In order to check for equality between two vectors or matrices with floating-point coefficients, it is generally a far better idea to use a fuzzy comparison as provided by isApprox() and isMuchSmallerThan().

Example:

Output:

See also
cwiseEqual(), isApprox(), isMuchSmallerThan()

Definition at line 61 of file ArrayBase.h.

template<typename Derived>
template<typename OtherDerived >
EIGEN_STRONG_INLINE const CwiseBinaryOp<internal::scalar_quotient_op<Scalar>, const Derived, const OtherDerived> Eigen::ArrayBase< Derived >::cwiseQuotient ( const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &  other) const
inline
Returns
an expression of the coefficient-wise quotient of *this and other

Example:

Output:

See also
class CwiseBinaryOp, cwiseProduct(), cwiseInverse()

Definition at line 124 of file ArrayBase.h.

127  { return *this = derived() + scalar; }
template<typename Derived>
const CwiseUnaryOp<internal::scalar_sqrt_op<Scalar>, const Derived> Eigen::ArrayBase< Derived >::cwiseSqrt ( ) const
inline
Returns
an expression of the coefficient-wise square root of *this.

Example:

Output:

See also
cwisePow(), cwiseSquare()

Definition at line 42 of file ArrayBase.h.

42 :
43 #ifndef EIGEN_PARSED_BY_DOXYGEN
template<typename Derived>
template<typename OtherDerived >
EIGEN_STRONG_INLINE const Eigen::ArrayBase< Derived >::EIGEN_CWISE_PRODUCT_RETURN_TYPE ( Derived  ,
OtherDerived   
) const
inline
Returns
an expression of the coefficient wise product of *this and other
See also
MatrixBase::cwiseProduct

Definition at line 7 of file ArrayBase.h.

13  {
template<typename Derived>
template<typename OtherDerived >
EIGEN_STRONG_INLINE const Eigen::ArrayBase< Derived >::EIGEN_CWISE_PRODUCT_RETURN_TYPE ( Derived  ,
OtherDerived   
) const
inline
Returns
an expression of the Schur product (coefficient wise product) of *this and other

Example:

Output:

See also
class CwiseBinaryOp, cwiseAbs2

Definition at line 22 of file ArrayBase.h.

40  : public DenseBase<Derived>
template<typename Derived>
const CwiseUnaryOp<internal::scalar_exp_op<Scalar>, const Derived> Eigen::ArrayBase< Derived >::exp ( ) const
inline
Returns
an expression of the coefficient-wise exponential of *this.

Example:

Output:

See also
pow(), log(), sin(), cos()

Definition at line 38 of file ArrayBase.h.

40  : public DenseBase<Derived>
41 {
template<typename Derived>
const ImagReturnType Eigen::ArrayBase< Derived >::imag ( ) const
inline
Returns
an read-only expression of the imaginary part of *this.
See also
real()

Definition at line 117 of file ArrayBase.h.

122 {
template<typename Derived>
NonConstImagReturnType Eigen::ArrayBase< Derived >::imag ( )
inline
Returns
a non const expression of the imaginary part of *this.
See also
real()

Definition at line 173 of file ArrayBase.h.

template<typename Derived>
const CwiseUnaryOp<internal::scalar_inverse_op<Scalar>, const Derived> Eigen::ArrayBase< Derived >::inverse ( ) const
inline
Returns
an expression of the coefficient-wise inverse of *this.

Example:

Output:

See also
operator/(), operator*()

Definition at line 159 of file ArrayBase.h.

161  :
162  // mixing arrays and matrices is not legal
template<typename Derived>
const CwiseUnaryOp<internal::scalar_log_op<Scalar>, const Derived> Eigen::ArrayBase< Derived >::log ( ) const
inline
Returns
an expression of the coefficient-wise logarithm of *this.

Example:

Output:

See also
exp()

Definition at line 51 of file ArrayBase.h.

template<typename Derived>
MatrixWrapper<Derived> Eigen::ArrayBase< Derived >::matrix ( )
inline
Returns
an Matrix expression of this array
See also
MatrixBase::array()

Definition at line 148 of file ArrayBase.h.

148 { return derived(); }
template<typename Derived>
template<typename OtherDerived >
const CwiseBinaryOp<internal::scalar_boolean_and_op, const Derived, const OtherDerived> Eigen::ArrayBase< Derived >::operator&& ( const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &  other) const
inline
Returns
an expression of the coefficient-wise && operator of *this and other
Warning
this operator is for expression of bool only.

Example:

Output:

See also
operator||(), select()

Definition at line 189 of file ArrayBase.h.

192 {
193  SelfCwiseBinaryOp<internal::scalar_sum_op<Scalar>, Derived, OtherDerived> tmp(derived());
194  tmp = other.derived();
template<typename Derived>
const ScalarMultipleReturnType Eigen::ArrayBase< Derived >::operator* ( const Scalar &  scalar) const
inline
Returns
an expression of *this scaled by the scalar factor scalar

Definition at line 50 of file ArrayBase.h.

template<typename Derived>
const CwiseUnaryOp<internal::scalar_multiple2_op<Scalar,std::complex<Scalar> >, const Derived> Eigen::ArrayBase< Derived >::operator* ( const std::complex< Scalar > &  scalar) const
inline

Overloaded for efficient real matrix times complex scalar value

Definition at line 70 of file ArrayBase.h.

template<typename Derived>
template<typename OtherDerived >
EIGEN_STRONG_INLINE Derived& Eigen::ArrayBase< Derived >::operator*= ( const ArrayBase< OtherDerived > &  other)

replaces *this by *this * other coefficient wise.

Returns
a reference to *this

Definition at line 205 of file ArrayBase.h.

206 {
207  SelfCwiseBinaryOp<internal::scalar_product_op<Scalar>, Derived, OtherDerived> tmp(derived());
208  tmp = other.derived();
209  return derived();
210 }
template<typename Derived>
const CwiseUnaryOp<internal::scalar_add_op<Scalar>, const Derived> Eigen::ArrayBase< Derived >::operator+ ( const Scalar &  scalar) const
inline
Returns
an expression of the coefficient-wise < operator of *this and other

Example:

Output:

See also
all(), any(), operator>(), operator<=()
Returns
an expression of the coefficient-wise <= operator of *this and other

Example:

Output:

See also
all(), any(), operator>=(), operator<()
Returns
an expression of the coefficient-wise > operator of *this and other

Example:

Output:

See also
all(), any(), operator>=(), operator<()
Returns
an expression of the coefficient-wise >= operator of *this and other

Example:

Output:

See also
all(), any(), operator>(), operator<=()
Returns
an expression of the coefficient-wise == operator of *this and other
Warning
this performs an exact comparison, which is generally a bad idea with floating-point types. In order to check for equality between two vectors or matrices with floating-point coefficients, it is generally a far better idea to use a fuzzy comparison as provided by isApprox() and isMuchSmallerThan().

Example:

Output:

See also
all(), any(), isApprox(), isMuchSmallerThan()
Returns
an expression of the coefficient-wise != operator of *this and other
Warning
this performs an exact comparison, which is generally a bad idea with floating-point types. In order to check for equality between two vectors or matrices with floating-point coefficients, it is generally a far better idea to use a fuzzy comparison as provided by isApprox() and isMuchSmallerThan().

Example:

Output:

See also
all(), any(), isApprox(), isMuchSmallerThan()
Returns
an expression of *this with each coeff incremented by the constant scalar

Example:

Output:

See also
operator+=(), operator-()

Definition at line 148 of file ArrayBase.h.

148  { return derived(); }
149  const MatrixWrapper<const Derived> matrix() const { return derived(); }
150 
151 // template<typename Dest>
MatrixWrapper< Derived > matrix()
Definition: ArrayBase.h:148
template<typename Derived>
template<typename OtherDerived >
EIGEN_STRONG_INLINE Derived& Eigen::ArrayBase< Derived >::operator+= ( const ArrayBase< OtherDerived > &  other)

replaces *this by *this + other.

Returns
a reference to *this

Definition at line 191 of file ArrayBase.h.

192 {
193  SelfCwiseBinaryOp<internal::scalar_sum_op<Scalar>, Derived, OtherDerived> tmp(derived());
194  tmp = other.derived();
195  return derived();
196 }
template<typename Derived>
const CwiseUnaryOp<internal::scalar_opposite_op<typename internal::traits<Derived>::Scalar>, const Derived> Eigen::ArrayBase< Derived >::operator- ( ) const
inline
Returns
an expression of the opposite of *this

Definition at line 45 of file ArrayBase.h.

template<typename Derived>
const CwiseUnaryOp<internal::scalar_add_op<Scalar>, const Derived> Eigen::ArrayBase< Derived >::operator- ( const Scalar &  scalar) const
inline
Returns
an expression of *this with each coeff decremented by the constant scalar

Example:

Output:

See also
operator+(), operator-=()

Definition at line 167 of file ArrayBase.h.

167  {EIGEN_STATIC_ASSERT(std::ptrdiff_t(sizeof(typename OtherDerived::Scalar))==-1,YOU_CANNOT_MIX_ARRAYS_AND_MATRICES); return *this;}
168 };
169 
template<typename Derived>
template<typename OtherDerived >
EIGEN_STRONG_INLINE Derived& Eigen::ArrayBase< Derived >::operator-= ( const ArrayBase< OtherDerived > &  other)

replaces *this by *this - other.

Returns
a reference to *this

Definition at line 177 of file ArrayBase.h.

178 {
179  SelfCwiseBinaryOp<internal::scalar_difference_op<Scalar>, Derived, OtherDerived> tmp(derived());
180  tmp = other.derived();
181  return derived();
182 }
template<typename Derived>
template<typename OtherDerived >
EIGEN_STRONG_INLINE const CwiseBinaryOp<internal::scalar_quotient_op<Scalar>, const Derived, const OtherDerived> Eigen::ArrayBase< Derived >::operator/ ( const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &  other) const
inline
Returns
an expression of the coefficient wise quotient of *this and other
See also
MatrixBase::cwiseQuotient

Definition at line 19 of file ArrayBase.h.

template<typename Derived>
const CwiseUnaryOp<internal::scalar_quotient1_op<typename internal::traits<Derived>::Scalar>, const Derived> Eigen::ArrayBase< Derived >::operator/ ( const Scalar &  scalar) const
inline
Returns
an expression of *this divided by the scalar value scalar

Definition at line 62 of file ArrayBase.h.

template<typename Derived>
template<typename OtherDerived >
EIGEN_STRONG_INLINE Derived& Eigen::ArrayBase< Derived >::operator/= ( const ArrayBase< OtherDerived > &  other)

replaces *this by *this / other coefficient wise.

Returns
a reference to *this

Definition at line 219 of file ArrayBase.h.

220 {
221  SelfCwiseBinaryOp<internal::scalar_quotient_op<Scalar>, Derived, OtherDerived> tmp(derived());
222  tmp = other.derived();
223  return derived();
224 }
template<typename Derived>
Derived& Eigen::ArrayBase< Derived >::operator= ( const ArrayBase< Derived > &  other)
inline

Special case of the template operator=, in order to prevent the compiler from generating a default operator= (issue hit with g++ 4.1)

Definition at line 121 of file ArrayBase.h.

122  {
123  return internal::assign_selector<Derived,Derived>::run(derived(), other.derived());
124  }
template<typename Derived>
template<typename OtherDerived >
const CwiseBinaryOp<internal::scalar_boolean_or_op, const Derived, const OtherDerived> Eigen::ArrayBase< Derived >::operator|| ( const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &  other) const
inline
Returns
an expression of the coefficient-wise || operator of *this and other
Warning
this operator is for expression of bool only.

Example:

Output:

See also
operator&&(), select()

Definition at line 207 of file ArrayBase.h.

template<typename Derived>
const CwiseUnaryOp<internal::scalar_pow_op<Scalar>, const Derived> Eigen::ArrayBase< Derived >::pow ( const Scalar &  exponent) const
inline
Returns
an expression of the coefficient-wise power of *this to the given exponent.

Example:

Output:

See also
exp(), log()

Definition at line 144 of file ArrayBase.h.

144  { return *this; }
145 
148  MatrixWrapper<Derived> matrix() { return derived(); }
MatrixWrapper< Derived > matrix()
Definition: ArrayBase.h:148
template<typename Derived>
RealReturnType Eigen::ArrayBase< Derived >::real ( ) const
inline
Returns
a read-only expression of the real part of *this.
See also
imag()

Definition at line 111 of file ArrayBase.h.

122 {
template<typename Derived>
NonConstRealReturnType Eigen::ArrayBase< Derived >::real ( )
inline
Returns
a non const expression of the real part of *this.
See also
imag()

Definition at line 167 of file ArrayBase.h.

167 {EIGEN_STATIC_ASSERT(std::ptrdiff_t(sizeof(typename OtherDerived::Scalar))==-1,YOU_CANNOT_MIX_ARRAYS_AND_MATRICES); return *this;}
template<typename Derived>
const CwiseUnaryOp<internal::scalar_sin_op<Scalar>, const Derived> Eigen::ArrayBase< Derived >::sin ( ) const
inline
Returns
an expression of the coefficient-wise sine of *this.

Example:

Output:

See also
cos(), asin()

Definition at line 91 of file ArrayBase.h.

template<typename Derived>
const CwiseUnaryOp<internal::scalar_sqrt_op<Scalar>, const Derived> Eigen::ArrayBase< Derived >::sqrt ( ) const
inline
Returns
an expression of the coefficient-wise square root of *this.

Example:

Output:

See also
pow(), square()

Definition at line 64 of file ArrayBase.h.

template<typename Derived>
const CwiseUnaryOp<internal::scalar_square_op<Scalar>, const Derived> Eigen::ArrayBase< Derived >::square ( ) const
inline
Returns
an expression of the coefficient-wise square of *this.

Example:

Output:

See also
operator/(), operator*(), abs2()

Definition at line 172 of file ArrayBase.h.

template<typename Derived>
const CwiseUnaryOp<internal::scalar_tan_op<Scalar>, Derived> Eigen::ArrayBase< Derived >::tan ( ) const
inline
Returns
an expression of the coefficient-wise tan of *this.

Example:

Output:

See also
cos(), sin()

Definition at line 130 of file ArrayBase.h.

142  :
143  ArrayBase<Derived>& array() { return *this; }
template<typename Derived>
template<typename CustomUnaryOp >
const CwiseUnaryOp<CustomUnaryOp, const Derived> Eigen::ArrayBase< Derived >::unaryExpr ( const CustomUnaryOp &  func = CustomUnaryOp()) const
inline

Apply a unary operator coefficient-wise.

Parameters
[in]funcFunctor implementing the unary operator
Template Parameters
CustomUnaryOpType of func
Returns
An expression of a custom coefficient-wise unary operator func of *this

The function ptr_fun() from the C++ standard library can be used to make functors out of normal functions.

Example:

Output:

Genuine functors allow for more possibilities, for instance it may contain a state.

Example:

Output:

See also
class CwiseUnaryOp, class CwiseBinaryOp

Definition at line 140 of file ArrayBase.h.

142  :
143  ArrayBase<Derived>& array() { return *this; }
template<typename Derived>
template<typename CustomViewOp >
const CwiseUnaryView<CustomViewOp, const Derived> Eigen::ArrayBase< Derived >::unaryViewExpr ( const CustomViewOp &  func = CustomViewOp()) const
inline
Returns
an expression of a custom coefficient-wise unary operator func of *this

The template parameter CustomUnaryOp is the type of the functor of the custom unary operator.

Example:

Output:

See also
class CwiseUnaryOp, class CwiseBinaryOp

Definition at line 158 of file ArrayBase.h.

161  :
162  // mixing arrays and matrices is not legal

The documentation for this class was generated from the following file: