Main MRPT website > C++ reference
MRPT logo
Public Member Functions | Protected Member Functions | Private Member Functions | Friends

ArrayBase< Derived > Class Template Reference


Detailed Description

template<typename Derived>
class 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.

Parameters:
Derivedis the derived type, e.g., an array or an expression type.
See also:
class MatrixBase, TopicClassHierarchy

Definition at line 49 of file ArrayBase.h.

#include <src/Core/ArrayBase.h>

Inheritance diagram for ArrayBase< Derived >:
Inheritance graph
[legend]

List of all members.

Public Member Functions

const CwiseUnaryOp
< internal::scalar_opposite_op
< typename internal::traits
< Derived >::Scalar >, Derived > 
operator- () const
const ScalarMultipleReturnType operator* (const Scalar &scalar) const
const ScalarMultipleReturnType operator* (const RealScalar &scalar) const
const CwiseUnaryOp
< internal::scalar_quotient1_op
< typename internal::traits
< Derived >::Scalar >, Derived > 
operator/ (const Scalar &scalar) const
const CwiseUnaryOp
< internal::scalar_multiple2_op
< Scalar, std::complex< Scalar >
>, Derived > 
operator* (const std::complex< Scalar > &scalar) const
 Overloaded for efficient real matrix times complex scalar value.
template<typename NewType >
internal::cast_return_type
< Derived, const CwiseUnaryOp
< internal::scalar_cast_op
< typename internal::traits
< Derived >::Scalar, NewType >
, Derived > >::type 
cast () const
ConjugateReturnType conjugate () const
RealReturnType real () const
const ImagReturnType imag () const
template<typename CustomUnaryOp >
const CwiseUnaryOp
< CustomUnaryOp, Derived > 
unaryExpr (const CustomUnaryOp &func=CustomUnaryOp()) const
 Apply a unary operator coefficient-wise.
template<typename CustomViewOp >
const CwiseUnaryView
< CustomViewOp, Derived > 
unaryViewExpr (const CustomViewOp &func=CustomViewOp()) const
NonConstRealReturnType real ()
NonConstImagReturnType imag ()
EIGEN_STRONG_INLINE const
CwiseUnaryOp
< internal::scalar_abs_op
< Scalar >, Derived > 
cwiseAbs () const
EIGEN_STRONG_INLINE const
CwiseUnaryOp
< internal::scalar_abs2_op
< Scalar >, Derived > 
cwiseAbs2 () const
const CwiseUnaryOp
< internal::scalar_sqrt_op
< Scalar >, Derived > 
cwiseSqrt () const
const CwiseUnaryOp
< internal::scalar_inverse_op
< Scalar >, Derived > 
cwiseInverse () const
const CwiseUnaryOp
< std::binder1st
< std::equal_to< Scalar >
>, Derived > 
cwiseEqual (const Scalar &s) const
EIGEN_STRONG_INLINE const
CwiseUnaryOp
< internal::scalar_abs_op
< Scalar >, Derived > 
abs () const
EIGEN_STRONG_INLINE const
CwiseUnaryOp
< internal::scalar_abs2_op
< Scalar >, Derived > 
abs2 () const
const CwiseUnaryOp
< internal::scalar_exp_op
< Scalar >, Derived > 
exp () const
const CwiseUnaryOp
< internal::scalar_log_op
< Scalar >, Derived > 
log () const
const CwiseUnaryOp
< internal::scalar_sqrt_op
< Scalar >, Derived > 
sqrt () const
const CwiseUnaryOp
< internal::scalar_cos_op
< Scalar >, Derived > 
cos () const
const CwiseUnaryOp
< internal::scalar_sin_op
< Scalar >, Derived > 
sin () const
const CwiseUnaryOp
< internal::scalar_pow_op
< Scalar >, Derived > 
pow (const Scalar &exponent) const
const CwiseUnaryOp
< internal::scalar_inverse_op
< Scalar >, Derived > 
inverse () const
const CwiseUnaryOp
< internal::scalar_square_op
< Scalar >, Derived > 
square () const
const CwiseUnaryOp
< internal::scalar_cube_op
< Scalar >, Derived > 
cube () const
template<typename CustomBinaryOp , typename OtherDerived >
EIGEN_STRONG_INLINE const
CwiseBinaryOp< CustomBinaryOp,
Derived, 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 >
, Derived, OtherDerived > 
cwiseEqual (const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &other) const
template<typename OtherDerived >
const CwiseBinaryOp
< std::not_equal_to< Scalar >
, Derived, OtherDerived > 
cwiseNotEqual (const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &other) const
template<typename OtherDerived >
EIGEN_STRONG_INLINE const
CwiseBinaryOp
< internal::scalar_min_op
< Scalar >, Derived,
OtherDerived > 
cwiseMin (const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &other) const
template<typename OtherDerived >
EIGEN_STRONG_INLINE const
CwiseBinaryOp
< internal::scalar_max_op
< Scalar >, Derived,
OtherDerived > 
cwiseMax (const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &other) const
template<typename OtherDerived >
EIGEN_STRONG_INLINE const
CwiseBinaryOp
< internal::scalar_quotient_op
< Scalar >, Derived,
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 >, Derived,
OtherDerived > 
operator/ (const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &other) const
const CwiseUnaryOp
< internal::scalar_add_op
< Scalar >, Derived > 
operator+ (const Scalar &scalar) const
const CwiseUnaryOp
< internal::scalar_add_op
< Scalar >, Derived > 
operator- (const Scalar &scalar) const
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)
Derived & operator+= (const Scalar &scalar)
Derived & operator-= (const Scalar &scalar)
template<typename OtherDerived >
Derived & operator+= (const ArrayBase< OtherDerived > &other)
 replaces *this by *this + other.
template<typename OtherDerived >
Derived & operator-= (const ArrayBase< OtherDerived > &other)
 replaces *this by *this - other.
template<typename OtherDerived >
Derived & operator*= (const ArrayBase< OtherDerived > &other)
 replaces *this by *this * other coefficient wise.
template<typename OtherDerived >
Derived & operator/= (const ArrayBase< OtherDerived > &other)
 replaces *this by *this / other coefficient wise.
ArrayBase< Derived > & array ()
const ArrayBase< Derived > & array () const
MatrixWrapper< Derived > matrix ()
const MatrixWrapper< Derived > matrix () const

Protected Member Functions

 ArrayBase ()
template<typename OtherDerived >
Derived & operator+= (const MatrixBase< OtherDerived > &mat)
template<typename OtherDerived >
Derived & operator-= (const MatrixBase< OtherDerived > &mat)

Private Member Functions

 ArrayBase (Index)
 ArrayBase (Index, Index)
template<typename OtherDerived >
 ArrayBase (const ArrayBase< OtherDerived > &)

Friends

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

Constructor & Destructor Documentation

template<typename Derived>
ArrayBase< Derived >::ArrayBase ( ) [inline, protected]

Definition at line 165 of file ArrayBase.h.

template<typename Derived>
ArrayBase< Derived >::ArrayBase ( Index  ) [explicit, private]
template<typename Derived>
ArrayBase< Derived >::ArrayBase ( Index  ,
Index   
) [private]
template<typename Derived>
template<typename OtherDerived >
ArrayBase< Derived >::ArrayBase ( const ArrayBase< OtherDerived > &  ) [explicit, private]

Member Function Documentation

template<typename Derived>
EIGEN_STRONG_INLINE const CwiseUnaryOp<internal::scalar_abs_op<Scalar>, Derived> 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.

template<typename Derived>
EIGEN_STRONG_INLINE const CwiseUnaryOp<internal::scalar_abs2_op<Scalar>, Derived> 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.

template<typename Derived>
ArrayBase<Derived>& ArrayBase< Derived >::array ( ) [inline]

Definition at line 153 of file ArrayBase.h.

template<typename Derived>
const ArrayBase<Derived>& ArrayBase< Derived >::array ( ) const [inline]

Definition at line 154 of file ArrayBase.h.

template<typename Derived>
template<typename CustomBinaryOp , typename OtherDerived >
EIGEN_STRONG_INLINE const CwiseBinaryOp<CustomBinaryOp, Derived, OtherDerived> 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 58 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>, Derived> >::type 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 108 of file ArrayBase.h.

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

Definition at line 117 of file ArrayBase.h.

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

Example:

Output:

See also:
sin(), exp()

Definition at line 77 of file ArrayBase.h.

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

Example:

Output:

See also:
square(), pow()

Definition at line 146 of file ArrayBase.h.

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

Example:

Output:

See also:
cwiseAbs2()

Definition at line 37 of file ArrayBase.h.

template<typename Derived>
EIGEN_STRONG_INLINE const CwiseUnaryOp<internal::scalar_abs2_op<Scalar>,Derived> 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 47 of file ArrayBase.h.

template<typename Derived>
const CwiseUnaryOp<std::binder1st<std::equal_to<Scalar> >,Derived> 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 79 of file ArrayBase.h.

template<typename Derived>
template<typename OtherDerived >
const CwiseBinaryOp<std::equal_to<Scalar>, Derived, OtherDerived> 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 57 of file ArrayBase.h.

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

Example:

Output:

See also:
cwiseProduct()

Definition at line 67 of file ArrayBase.h.

template<typename Derived>
template<typename OtherDerived >
EIGEN_STRONG_INLINE const CwiseBinaryOp<internal::scalar_max_op<Scalar>, Derived, OtherDerived> 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 104 of file ArrayBase.h.

template<typename Derived>
template<typename OtherDerived >
EIGEN_STRONG_INLINE const CwiseBinaryOp<internal::scalar_min_op<Scalar>, Derived, OtherDerived> 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 90 of file ArrayBase.h.

template<typename Derived>
template<typename OtherDerived >
const CwiseBinaryOp<std::not_equal_to<Scalar>, Derived, OtherDerived> 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 76 of file ArrayBase.h.

template<typename Derived>
template<typename OtherDerived >
EIGEN_STRONG_INLINE const CwiseBinaryOp<internal::scalar_quotient_op<Scalar>, Derived, OtherDerived> 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 118 of file ArrayBase.h.

template<typename Derived>
const CwiseUnaryOp<internal::scalar_sqrt_op<Scalar>,Derived> 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 57 of file ArrayBase.h.

template<typename Derived>
template<typename OtherDerived >
EIGEN_STRONG_INLINE const 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.

template<typename Derived>
template<typename OtherDerived >
EIGEN_STRONG_INLINE const 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 37 of file ArrayBase.h.

template<typename Derived>
const CwiseUnaryOp<internal::scalar_exp_op<Scalar>, Derived> 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.

template<typename Derived>
const ImagReturnType ArrayBase< Derived >::imag ( ) const [inline]
Returns:
an read-only expression of the imaginary part of *this.
See also:
real()

Definition at line 132 of file ArrayBase.h.

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

Definition at line 188 of file ArrayBase.h.

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

Example:

Output:

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

Definition at line 120 of file ArrayBase.h.

template<typename Derived>
const CwiseUnaryOp<internal::scalar_log_op<Scalar>, Derived> 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>
const MatrixWrapper<Derived> ArrayBase< Derived >::matrix ( ) const [inline]

Definition at line 159 of file ArrayBase.h.

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

Definition at line 158 of file ArrayBase.h.

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

Overloaded for efficient real matrix times complex scalar value.

Definition at line 85 of file ArrayBase.h.

template<typename Derived>
const ScalarMultipleReturnType ArrayBase< Derived >::operator* ( const RealScalar scalar) const
template<typename Derived>
const ScalarMultipleReturnType ArrayBase< Derived >::operator* ( const Scalar scalar) const [inline]
Returns:
an expression of *this scaled by the scalar factor scalar

Definition at line 65 of file ArrayBase.h.

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

replaces *this by *this * other coefficient wise.

Returns:
a reference to *this

Definition at line 215 of file ArrayBase.h.

template<typename Derived>
const CwiseUnaryOp<internal::scalar_add_op<Scalar>, Derived> ArrayBase< Derived >::operator+ ( const Scalar scalar) 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 max of *this and other

Example:

Output:

See also:
min()
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 116 of file ArrayBase.h.

template<typename Derived>
Derived& ArrayBase< Derived >::operator+= ( const Scalar scalar) [inline]

Definition at line 136 of file ArrayBase.h.

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

replaces *this by *this + other.

Returns:
a reference to *this

Definition at line 201 of file ArrayBase.h.

template<typename Derived>
template<typename OtherDerived >
Derived& ArrayBase< Derived >::operator+= ( const MatrixBase< OtherDerived > &  mat) [inline, protected]

Definition at line 173 of file ArrayBase.h.

template<typename Derived>
const CwiseUnaryOp<internal::scalar_opposite_op<typename internal::traits<Derived>::Scalar>,Derived> ArrayBase< Derived >::operator- ( ) const [inline]
Returns:
an expression of the opposite of *this

Definition at line 60 of file ArrayBase.h.

template<typename Derived>
const CwiseUnaryOp<internal::scalar_add_op<Scalar>, Derived> 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 135 of file ArrayBase.h.

template<typename Derived>
template<typename OtherDerived >
Derived& ArrayBase< Derived >::operator-= ( const MatrixBase< OtherDerived > &  mat) [inline, protected]

Definition at line 176 of file ArrayBase.h.

template<typename Derived>
Derived& ArrayBase< Derived >::operator-= ( const Scalar scalar) [inline]

Definition at line 138 of file ArrayBase.h.

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

replaces *this by *this - other.

Returns:
a reference to *this

Definition at line 187 of file ArrayBase.h.

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

Definition at line 77 of file ArrayBase.h.

template<typename Derived>
template<typename OtherDerived >
EIGEN_STRONG_INLINE const CwiseBinaryOp<internal::scalar_quotient_op<Scalar>, Derived, OtherDerived> 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 >
template<typename OtherDerived >
EIGEN_STRONG_INLINE Derived & ArrayBase< Derived >::operator/= ( const ArrayBase< OtherDerived > &  other)

replaces *this by *this / other coefficient wise.

Returns:
a reference to *this

Definition at line 229 of file ArrayBase.h.

template<typename Derived>
Derived& 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 131 of file ArrayBase.h.

template<typename Derived>
const CwiseUnaryOp<internal::scalar_pow_op<Scalar>, Derived> 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 105 of file ArrayBase.h.

template<typename Derived>
RealReturnType ArrayBase< Derived >::real ( ) const [inline]
Returns:
a read-only expression of the real part of *this.
See also:
imag()

Definition at line 126 of file ArrayBase.h.

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

Definition at line 182 of file ArrayBase.h.

template<typename Derived>
const CwiseUnaryOp<internal::scalar_sin_op<Scalar>, Derived> ArrayBase< Derived >::sin ( ) const [inline]
Returns:
an expression of the coefficient-wise sine of *this.

Example:

Output:

See also:
cos(), exp()

Definition at line 91 of file ArrayBase.h.

template<typename Derived>
const CwiseUnaryOp<internal::scalar_sqrt_op<Scalar>, Derived> 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>, Derived> 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 133 of file ArrayBase.h.

template<typename Derived>
template<typename CustomUnaryOp >
const CwiseUnaryOp<CustomUnaryOp, Derived> 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 155 of file ArrayBase.h.

template<typename Derived>
template<typename CustomViewOp >
const CwiseUnaryView<CustomViewOp, Derived> 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 173 of file ArrayBase.h.


Friends And Related Function Documentation

template<typename Derived>
const ScalarMultipleReturnType operator* ( const Scalar scalar,
const StorageBaseType &  matrix 
) [friend]

Definition at line 92 of file ArrayBase.h.

template<typename Derived>
const CwiseUnaryOp<internal::scalar_multiple2_op<Scalar,std::complex<Scalar> >, Derived> operator* ( const std::complex< Scalar > &  scalar,
const StorageBaseType &  matrix 
) [friend]

Definition at line 96 of file ArrayBase.h.

template<typename Derived>
const CwiseUnaryOp<internal::scalar_add_op<Scalar>, Derived> operator+ ( const Scalar scalar,
const EIGEN_CURRENT_STORAGE_BASE_CLASS< Derived > &  other 
) [friend]

Definition at line 122 of file ArrayBase.h.

template<typename Derived>
const CwiseUnaryOp<internal::scalar_add_op<Scalar>, CwiseUnaryOp<internal::scalar_opposite_op<Scalar>,Derived> > operator- ( const Scalar scalar,
const EIGEN_CURRENT_STORAGE_BASE_CLASS< Derived > &  other 
) [friend]

Definition at line 141 of file ArrayBase.h.




Page generated by Doxygen 1.7.3 for MRPT 0.9.4 SVN: at Sat Mar 26 06:40:17 UTC 2011