Base class for all 1D and 2D array, and related expressions. More...
#include <ArrayBase.h>
Public Types | |
typedef DenseBase< Derived > | Base |
typedef Base::CoeffReturnType | CoeffReturnType |
typedef internal::conditional < NumTraits< Scalar > ::IsComplex, const CwiseUnaryOp < internal::scalar_conjugate_op < Scalar >, const Derived > , const Derived & >::type | ConjugateReturnType |
typedef CwiseNullaryOp < internal::scalar_constant_op < Scalar >, Derived > | ConstantReturnType |
typedef ArrayBase | Eigen_BaseClassForSpecializationOfGlobalMathFuncImpl |
typedef CwiseUnaryOp < internal::scalar_imag_op < Scalar >, const Derived > | ImagReturnType |
typedef internal::traits < Derived >::Index | Index |
The type of indices. | |
typedef CwiseUnaryView < internal::scalar_imag_ref_op < Scalar >, Derived > | NonConstImagReturnType |
typedef internal::conditional < NumTraits< Scalar > ::IsComplex, CwiseUnaryView < internal::scalar_real_ref_op < Scalar >, Derived >, Derived & > ::type | NonConstRealReturnType |
typedef internal::packet_traits < Scalar >::type | PacketScalar |
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 > | PlainObject |
typedef internal::conditional < NumTraits< Scalar > ::IsComplex, const CwiseUnaryOp < internal::scalar_real_op < Scalar >, const Derived > , const Derived & >::type | RealReturnType |
typedef NumTraits< Scalar >::Real | RealScalar |
typedef internal::traits < Derived >::Scalar | Scalar |
typedef CwiseUnaryOp < internal::scalar_multiple_op < Scalar >, const Derived > | ScalarMultipleReturnType |
typedef CwiseUnaryOp < internal::scalar_quotient1_op < Scalar >, const Derived > | ScalarQuotient1ReturnType |
typedef ArrayBase | StorageBaseType |
typedef internal::traits < Derived >::StorageKind | StorageKind |
Public Member Functions | |
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_acos_op < Scalar >, const Derived > | acos () const |
ArrayBase< Derived > & | array () |
const ArrayBase< Derived > & | array () const |
const CwiseUnaryOp < internal::scalar_asin_op < Scalar >, const Derived > | asin () 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 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 |
const CwiseUnaryOp < internal::scalar_cos_op < Scalar >, const Derived > | cos () const |
const CwiseUnaryOp < internal::scalar_cube_op < Scalar >, const Derived > | cube () const |
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 |
template<typename OtherDerived > | |
const CwiseBinaryOp < std::equal_to< Scalar > , const Derived, const OtherDerived > | cwiseEqual (const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &other) const |
const CwiseUnaryOp < std::binder1st < std::equal_to< Scalar > >, const Derived > | cwiseEqual (const Scalar &s) const |
const CwiseUnaryOp < internal::scalar_inverse_op < Scalar >, const Derived > | cwiseInverse () 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 |
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 |
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_quotient_op < Scalar >, const Derived, const OtherDerived > | cwiseQuotient (const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &other) const |
const CwiseUnaryOp < internal::scalar_sqrt_op < Scalar >, const Derived > | cwiseSqrt () 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 | EIGEN_CWISE_PRODUCT_RETURN_TYPE (Derived, OtherDerived) cwiseProduct(const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &other) const |
const CwiseUnaryOp < internal::scalar_exp_op < Scalar >, const Derived > | exp () const |
const ImagReturnType | imag () const |
NonConstImagReturnType | imag () |
const CwiseUnaryOp < internal::scalar_inverse_op < Scalar >, const Derived > | inverse () const |
const CwiseUnaryOp < internal::scalar_log_op < Scalar >, const Derived > | log () const |
MatrixWrapper< Derived > | matrix () |
const MatrixWrapper< Derived > | matrix () const |
const ScalarMultipleReturnType | 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 OtherDerived > | |
Derived & | operator*= (const ArrayBase< OtherDerived > &other) |
const CwiseUnaryOp < internal::scalar_add_op < Scalar >, const Derived > | operator+ (const Scalar &scalar) const |
Derived & | operator+= (const Scalar &scalar) |
template<typename OtherDerived > | |
Derived & | operator+= (const ArrayBase< OtherDerived > &other) |
const CwiseUnaryOp < internal::scalar_opposite_op < typename internal::traits < Derived >::Scalar >, const Derived > | operator- () const |
const CwiseUnaryOp < internal::scalar_add_op < Scalar >, const Derived > | operator- (const Scalar &scalar) const |
Derived & | operator-= (const Scalar &scalar) |
template<typename OtherDerived > | |
Derived & | operator-= (const ArrayBase< OtherDerived > &other) |
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 |
const CwiseUnaryOp < internal::scalar_quotient1_op < typename internal::traits < Derived >::Scalar >, const Derived > | operator/ (const Scalar &scalar) const |
template<typename OtherDerived > | |
Derived & | operator/= (const ArrayBase< OtherDerived > &other) |
Derived & | operator= (const ArrayBase &other) |
const CwiseUnaryOp < internal::scalar_pow_op < Scalar >, const Derived > | pow (const Scalar &exponent) const |
RealReturnType | real () const |
NonConstRealReturnType | real () |
const CwiseUnaryOp < internal::scalar_sin_op < Scalar >, const Derived > | sin () const |
const CwiseUnaryOp < internal::scalar_sqrt_op < Scalar >, const Derived > | sqrt () const |
const CwiseUnaryOp < internal::scalar_square_op < Scalar >, const Derived > | square () const |
const CwiseUnaryOp < internal::scalar_tan_op < Scalar >, Derived > | tan () const |
template<typename CustomUnaryOp > | |
const CwiseUnaryOp < CustomUnaryOp, const Derived > | unaryExpr (const CustomUnaryOp &func=CustomUnaryOp()) const |
Apply a unary operator coefficient-wise. | |
template<typename CustomViewOp > | |
const CwiseUnaryView < CustomViewOp, const Derived > | unaryViewExpr (const CustomViewOp &func=CustomViewOp()) const |
Protected Member Functions | |
ArrayBase () | |
template<typename OtherDerived > | |
Derived & | operator+= (const MatrixBase< OtherDerived > &) |
template<typename OtherDerived > | |
Derived & | operator-= (const MatrixBase< OtherDerived > &) |
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 > >, 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) |
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 Customizing/Extending Eigen by defining the preprocessor symbol EIGEN_ARRAYBASE_PLUGIN
.
Definition at line 52 of file ArrayBase.h.
Reimplemented from DenseBase< Derived >.
Reimplemented in ArrayWrapper< ExpressionType >.
Definition at line 71 of file ArrayBase.h.
typedef Base::CoeffReturnType ArrayBase< Derived >::CoeffReturnType |
Reimplemented from DenseBase< Derived >.
Definition at line 96 of file ArrayBase.h.
typedef internal::conditional<NumTraits<Scalar>::IsComplex, const CwiseUnaryOp<internal::scalar_conjugate_op<Scalar>, const Derived>, const Derived& >::type ArrayBase< Derived >::ConjugateReturnType |
Definition at line 39 of file ArrayBase.h.
typedef CwiseNullaryOp<internal::scalar_constant_op<Scalar>,Derived> ArrayBase< Derived >::ConstantReturnType |
Reimplemented from DenseBase< Derived >.
Definition at line 116 of file ArrayBase.h.
typedef ArrayBase ArrayBase< Derived >::Eigen_BaseClassForSpecializationOfGlobalMathFuncImpl |
Definition at line 60 of file ArrayBase.h.
typedef CwiseUnaryOp<internal::scalar_imag_op<Scalar>, const Derived> ArrayBase< Derived >::ImagReturnType |
Definition at line 51 of file ArrayBase.h.
The type of indices.
To change this, #define
the preprocessor symbol EIGEN_DEFAULT_DENSE_INDEX_TYPE
.
Reimplemented from DenseBase< Derived >.
Definition at line 66 of file ArrayBase.h.
typedef CwiseUnaryView<internal::scalar_imag_ref_op<Scalar>, Derived> ArrayBase< Derived >::NonConstImagReturnType |
Definition at line 53 of file ArrayBase.h.
typedef internal::conditional<NumTraits<Scalar>::IsComplex, CwiseUnaryView<internal::scalar_real_ref_op<Scalar>, Derived>, Derived& >::type ArrayBase< Derived >::NonConstRealReturnType |
Definition at line 49 of file ArrayBase.h.
typedef internal::packet_traits<Scalar>::type ArrayBase< Derived >::PacketScalar |
Reimplemented from DenseBase< Derived >.
Definition at line 68 of file ArrayBase.h.
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 > ArrayBase< Derived >::PlainObject |
Definition at line 112 of file ArrayBase.h.
typedef internal::conditional<NumTraits<Scalar>::IsComplex, const CwiseUnaryOp<internal::scalar_real_op<Scalar>, const Derived>, const Derived& >::type ArrayBase< Derived >::RealReturnType |
Definition at line 44 of file ArrayBase.h.
typedef NumTraits<Scalar>::Real ArrayBase< Derived >::RealScalar |
Reimplemented from DenseBase< Derived >.
Definition at line 69 of file ArrayBase.h.
Reimplemented from DenseBase< Derived >.
Definition at line 67 of file ArrayBase.h.
typedef CwiseUnaryOp<internal::scalar_multiple_op<Scalar>, const Derived> ArrayBase< Derived >::ScalarMultipleReturnType |
Definition at line 32 of file ArrayBase.h.
typedef CwiseUnaryOp<internal::scalar_quotient1_op<Scalar>, const Derived> ArrayBase< Derived >::ScalarQuotient1ReturnType |
Definition at line 34 of file ArrayBase.h.
typedef ArrayBase ArrayBase< Derived >::StorageBaseType |
The base class for a given storage type.
Definition at line 58 of file ArrayBase.h.
typedef internal::traits<Derived>::StorageKind ArrayBase< Derived >::StorageKind |
Reimplemented from DenseBase< Derived >.
Definition at line 65 of file ArrayBase.h.
Definition at line 168 of file ArrayBase.h.
ArrayBase< Derived >::ArrayBase | ( | const ArrayBase< OtherDerived > & | ) | [explicit, private] |
EIGEN_STRONG_INLINE const CwiseUnaryOp<internal::scalar_abs_op<Scalar>, const Derived> ArrayBase< Derived >::abs | ( | ) | const [inline] |
*this
Example:
Array3d v(1,-2,-3); cout << v.abs() << endl;
Output:
Definition at line 12 of file ArrayBase.h.
EIGEN_STRONG_INLINE const CwiseUnaryOp<internal::scalar_abs2_op<Scalar>, const Derived> ArrayBase< Derived >::abs2 | ( | ) | const [inline] |
*this
Example:
Array3d v(1,-2,-3); cout << v.abs2() << endl;
Output:
Definition at line 25 of file ArrayBase.h.
const CwiseUnaryOp<internal::scalar_acos_op<Scalar>, const Derived> ArrayBase< Derived >::acos | ( | ) | const [inline] |
Definition at line 156 of file ArrayBase.h.
Definition at line 157 of file ArrayBase.h.
const CwiseUnaryOp<internal::scalar_asin_op<Scalar>, const Derived> ArrayBase< Derived >::asin | ( | ) | const [inline] |
Example:
Output:
Definition at line 117 of file ArrayBase.h.
EIGEN_STRONG_INLINE const CwiseBinaryOp<CustomBinaryOp, const Derived, const OtherDerived> ArrayBase< Derived >::binaryExpr | ( | const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > & | other, |
const CustomBinaryOp & | func = CustomBinaryOp() |
||
) | const [inline] |
*this
and other *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:
#include <Eigen/Core> #include <iostream> using namespace Eigen; using namespace std; // define a custom template binary functor template<typename Scalar> struct MakeComplexOp { EIGEN_EMPTY_STRUCT_CTOR(MakeComplexOp) typedef complex<Scalar> result_type; complex<Scalar> operator()(const Scalar& a, const Scalar& b) const { return complex<Scalar>(a,b); } }; int main(int, char**) { Matrix4d m1 = Matrix4d::Random(), m2 = Matrix4d::Random(); cout << m1.binaryExpr(m2, MakeComplexOp<double>()) << endl; return 0; }
Output:
Definition at line 58 of file ArrayBase.h.
internal::cast_return_type<Derived,const CwiseUnaryOp<internal::scalar_cast_op<typename internal::traits<Derived>::Scalar, NewType>, const Derived> >::type ArrayBase< Derived >::cast | ( | ) | const [inline] |
The template parameter NewScalar is the type we are casting the scalars to.
Definition at line 108 of file ArrayBase.h.
ConjugateReturnType ArrayBase< Derived >::conjugate | ( | ) | const [inline] |
*this
.Definition at line 117 of file ArrayBase.h.
const CwiseUnaryOp<internal::scalar_cos_op<Scalar>, const Derived> ArrayBase< Derived >::cos | ( | ) | const [inline] |
const CwiseUnaryOp<internal::scalar_cube_op<Scalar>, const Derived> ArrayBase< Derived >::cube | ( | ) | const [inline] |
Example:
Array3d v(2,3,4); cout << v.cube() << endl;
Output:
Definition at line 185 of file ArrayBase.h.
EIGEN_STRONG_INLINE const CwiseUnaryOp<internal::scalar_abs_op<Scalar>, const Derived> ArrayBase< Derived >::cwiseAbs | ( | ) | const [inline] |
*this
Example:
MatrixXd m(2,3); m << 2, -4, 6, -5, 1, 0; cout << m.cwiseAbs() << endl;
Output:
Definition at line 37 of file ArrayBase.h.
EIGEN_STRONG_INLINE const CwiseUnaryOp<internal::scalar_abs2_op<Scalar>, const Derived> ArrayBase< Derived >::cwiseAbs2 | ( | ) | const [inline] |
*this
Example:
MatrixXd m(2,3); m << 2, -4, 6, -5, 1, 0; cout << m.cwiseAbs2() << endl;
Output:
Definition at line 47 of file ArrayBase.h.
const CwiseBinaryOp<std::equal_to<Scalar>, const Derived, const OtherDerived> ArrayBase< Derived >::cwiseEqual | ( | const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > & | other | ) | const [inline] |
Example:
MatrixXi m(2,2); m << 1, 0, 1, 1; cout << "Comparing m with identity matrix:" << endl; cout << m.cwiseEqual(MatrixXi::Identity(2,2)) << endl; int count = m.cwiseEqual(MatrixXi::Identity(2,2)).count(); cout << "Number of coefficients that are equal: " << count << endl;
Output:
Definition at line 57 of file ArrayBase.h.
const CwiseUnaryOp<std::binder1st<std::equal_to<Scalar> >, const Derived> ArrayBase< Derived >::cwiseEqual | ( | const Scalar & | s | ) | const [inline] |
*this
and a scalar s Definition at line 79 of file ArrayBase.h.
const CwiseUnaryOp<internal::scalar_inverse_op<Scalar>, const Derived> ArrayBase< Derived >::cwiseInverse | ( | ) | const [inline] |
Example:
MatrixXd m(2,3); m << 2, 0.5, 1, 3, 0.25, 1; cout << m.cwiseInverse() << endl;
Output:
Definition at line 67 of file ArrayBase.h.
EIGEN_STRONG_INLINE const CwiseBinaryOp<internal::scalar_max_op<Scalar>, const Derived, const OtherDerived> ArrayBase< Derived >::cwiseMax | ( | const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > & | other | ) | const [inline] |
Example:
Output:
Definition at line 104 of file ArrayBase.h.
EIGEN_STRONG_INLINE const CwiseBinaryOp<internal::scalar_min_op<Scalar>, const Derived, const OtherDerived> ArrayBase< Derived >::cwiseMin | ( | const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > & | other | ) | const [inline] |
Example:
Output:
Definition at line 90 of file ArrayBase.h.
const CwiseBinaryOp<std::not_equal_to<Scalar>, const Derived, const OtherDerived> ArrayBase< Derived >::cwiseNotEqual | ( | const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > & | other | ) | const [inline] |
Example:
MatrixXi m(2,2); m << 1, 0, 1, 1; cout << "Comparing m with identity matrix:" << endl; cout << m.cwiseNotEqual(MatrixXi::Identity(2,2)) << endl; int count = m.cwiseNotEqual(MatrixXi::Identity(2,2)).count(); cout << "Number of coefficients that are not equal: " << count << endl;
Output:
Definition at line 76 of file ArrayBase.h.
EIGEN_STRONG_INLINE const CwiseBinaryOp<internal::scalar_quotient_op<Scalar>, const Derived, const OtherDerived> ArrayBase< Derived >::cwiseQuotient | ( | const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > & | other | ) | const [inline] |
Example:
Output:
Definition at line 118 of file ArrayBase.h.
const CwiseUnaryOp<internal::scalar_sqrt_op<Scalar>, const Derived> ArrayBase< Derived >::cwiseSqrt | ( | ) | const [inline] |
Example:
Vector3d v(1,2,4); cout << v.cwiseSqrt() << endl;
Output:
Definition at line 57 of file ArrayBase.h.
EIGEN_STRONG_INLINE const ArrayBase< Derived >::EIGEN_CWISE_PRODUCT_RETURN_TYPE | ( | Derived | , |
OtherDerived | |||
) | const [inline] |
*this
and other Definition at line 7 of file ArrayBase.h.
EIGEN_STRONG_INLINE const ArrayBase< Derived >::EIGEN_CWISE_PRODUCT_RETURN_TYPE | ( | Derived | , |
OtherDerived | |||
) | const [inline] |
Example:
Matrix3i a = Matrix3i::Random(), b = Matrix3i::Random(); Matrix3i c = a.cwiseProduct(b); cout << "a:\n" << a << "\nb:\n" << b << "\nc:\n" << c << endl;
Output:
Definition at line 37 of file ArrayBase.h.
const CwiseUnaryOp<internal::scalar_exp_op<Scalar>, const Derived> ArrayBase< Derived >::exp | ( | ) | const [inline] |
const ImagReturnType ArrayBase< Derived >::imag | ( | ) | const [inline] |
*this
.Definition at line 132 of file ArrayBase.h.
NonConstImagReturnType ArrayBase< Derived >::imag | ( | ) | [inline] |
*this
.Definition at line 188 of file ArrayBase.h.
const CwiseUnaryOp<internal::scalar_inverse_op<Scalar>, const Derived> ArrayBase< Derived >::inverse | ( | ) | const [inline] |
Example:
Array3d v(2,3,4); cout << v.inverse() << endl;
Output:
Definition at line 159 of file ArrayBase.h.
const CwiseUnaryOp<internal::scalar_log_op<Scalar>, const Derived> ArrayBase< Derived >::log | ( | ) | const [inline] |
Example:
Array3d v(1,2,3); cout << v.log() << endl;
Output:
Definition at line 51 of file ArrayBase.h.
MatrixWrapper<Derived> ArrayBase< Derived >::matrix | ( | ) | [inline] |
Definition at line 161 of file ArrayBase.h.
const MatrixWrapper<Derived> ArrayBase< Derived >::matrix | ( | ) | const [inline] |
Definition at line 162 of file ArrayBase.h.
const ScalarMultipleReturnType ArrayBase< Derived >::operator* | ( | const Scalar & | scalar | ) | const [inline] |
*this
scaled by the scalar factor scalar Definition at line 65 of file ArrayBase.h.
const CwiseUnaryOp<internal::scalar_multiple2_op<Scalar,std::complex<Scalar> >, const 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.
EIGEN_STRONG_INLINE Derived & ArrayBase< Derived >::operator*= | ( | const ArrayBase< OtherDerived > & | other | ) |
replaces *this
by *this
* other coefficient wise.
*this
Definition at line 218 of file ArrayBase.h.
const CwiseUnaryOp<internal::scalar_add_op<Scalar>, const Derived> ArrayBase< Derived >::operator+ | ( | const Scalar & | scalar | ) | const [inline] |
*this
and other Example:
Output:
*this
and other Example:
Output:
Example:
Output:
Example:
Output:
Example:
Array3d v(1,2,3), w(3,2,1); cout << (v>w) << endl;
Output:
Example:
Array3d v(1,2,3), w(3,2,1); cout << (v>=w) << endl;
Output:
Example:
Output:
Example:
Output:
*this
with each coeff incremented by the constant scalar Example:
Array3d v(1,2,3); cout << v+5 << endl;
Output:
Definition at line 116 of file ArrayBase.h.
Derived& ArrayBase< Derived >::operator+= | ( | const Scalar & | scalar | ) | [inline] |
Definition at line 139 of file ArrayBase.h.
EIGEN_STRONG_INLINE Derived & ArrayBase< Derived >::operator+= | ( | const ArrayBase< OtherDerived > & | other | ) |
replaces *this
by *this
+ other.
*this
Definition at line 204 of file ArrayBase.h.
Derived& ArrayBase< Derived >::operator+= | ( | const MatrixBase< OtherDerived > & | ) | [inline, protected] |
Definition at line 176 of file ArrayBase.h.
const CwiseUnaryOp<internal::scalar_opposite_op<typename internal::traits<Derived>::Scalar>, const Derived> ArrayBase< Derived >::operator- | ( | void | ) | const [inline] |
*this
Definition at line 60 of file ArrayBase.h.
const CwiseUnaryOp<internal::scalar_add_op<Scalar>, const Derived> ArrayBase< Derived >::operator- | ( | const Scalar & | scalar | ) | const [inline] |
*this
with each coeff decremented by the constant scalar Example:
Array3d v(1,2,3); cout << v-5 << endl;
Output:
Definition at line 135 of file ArrayBase.h.
Derived& ArrayBase< Derived >::operator-= | ( | const Scalar & | scalar | ) | [inline] |
Definition at line 141 of file ArrayBase.h.
EIGEN_STRONG_INLINE Derived & ArrayBase< Derived >::operator-= | ( | const ArrayBase< OtherDerived > & | other | ) |
replaces *this
by *this
- other.
*this
Definition at line 190 of file ArrayBase.h.
Derived& ArrayBase< Derived >::operator-= | ( | const MatrixBase< OtherDerived > & | ) | [inline, protected] |
Definition at line 179 of file ArrayBase.h.
EIGEN_STRONG_INLINE const CwiseBinaryOp<internal::scalar_quotient_op<Scalar>, const Derived, const OtherDerived> ArrayBase< Derived >::operator/ | ( | const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > & | other | ) | const [inline] |
*this
and other Definition at line 19 of file ArrayBase.h.
const CwiseUnaryOp<internal::scalar_quotient1_op<typename internal::traits<Derived>::Scalar>, const Derived> ArrayBase< Derived >::operator/ | ( | const Scalar & | scalar | ) | const [inline] |
*this
divided by the scalar value scalar Definition at line 77 of file ArrayBase.h.
EIGEN_STRONG_INLINE Derived & ArrayBase< Derived >::operator/= | ( | const ArrayBase< OtherDerived > & | other | ) |
replaces *this
by *this
/ other coefficient wise.
*this
Definition at line 232 of file ArrayBase.h.
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 134 of file ArrayBase.h.
const CwiseUnaryOp<internal::scalar_pow_op<Scalar>, const Derived> ArrayBase< Derived >::pow | ( | const Scalar & | exponent | ) | const [inline] |
Example:
Array3d v(8,27,64); cout << v.pow(0.333333) << endl;
Output:
Definition at line 144 of file ArrayBase.h.
RealReturnType ArrayBase< Derived >::real | ( | ) | const [inline] |
*this
.Definition at line 126 of file ArrayBase.h.
NonConstRealReturnType ArrayBase< Derived >::real | ( | ) | [inline] |
*this
.Definition at line 182 of file ArrayBase.h.
const CwiseUnaryOp<internal::scalar_sin_op<Scalar>, const Derived> ArrayBase< Derived >::sin | ( | ) | const [inline] |
const CwiseUnaryOp<internal::scalar_sqrt_op<Scalar>, const Derived> ArrayBase< Derived >::sqrt | ( | ) | const [inline] |
Example:
Array3d v(1,2,4); cout << v.sqrt() << endl;
Output:
Definition at line 64 of file ArrayBase.h.
const CwiseUnaryOp<internal::scalar_square_op<Scalar>, const Derived> ArrayBase< Derived >::square | ( | ) | const [inline] |
Example:
Array3d v(2,3,4); cout << v.square() << endl;
Output:
Definition at line 172 of file ArrayBase.h.
const CwiseUnaryOp<internal::scalar_tan_op<Scalar>, Derived> ArrayBase< Derived >::tan | ( | ) | const [inline] |
const CwiseUnaryOp<CustomUnaryOp, const Derived> ArrayBase< Derived >::unaryExpr | ( | const CustomUnaryOp & | func = CustomUnaryOp() | ) | const [inline] |
Apply a unary operator coefficient-wise.
[in] | func | Functor implementing the unary operator |
CustomUnaryOp | Type of func |
The function ptr_fun()
from the C++ standard library can be used to make functors out of normal functions.
Example:
#include <Eigen/Core> #include <iostream> using namespace Eigen; using namespace std; // define function to be applied coefficient-wise double ramp(double x) { if (x > 0) return x; else return 0; } int main(int, char**) { Matrix4d m1 = Matrix4d::Random(); cout << m1 << endl << "becomes: " << endl << m1.unaryExpr(ptr_fun(ramp)) << endl; return 0; }
Output:
Genuine functors allow for more possibilities, for instance it may contain a state.
Example:
#include <Eigen/Core> #include <iostream> using namespace Eigen; using namespace std; // define a custom template unary functor template<typename Scalar> struct CwiseClampOp { CwiseClampOp(const Scalar& inf, const Scalar& sup) : m_inf(inf), m_sup(sup) {} const Scalar operator()(const Scalar& x) const { return x<m_inf ? m_inf : (x>m_sup ? m_sup : x); } Scalar m_inf, m_sup; }; int main(int, char**) { Matrix4d m1 = Matrix4d::Random(); cout << m1 << endl << "becomes: " << endl << m1.unaryExpr(CwiseClampOp<double>(-0.5,0.5)) << endl; return 0; }
Output:
Definition at line 155 of file ArrayBase.h.
const CwiseUnaryView<CustomViewOp, const Derived> ArrayBase< Derived >::unaryViewExpr | ( | const CustomViewOp & | func = CustomViewOp() | ) | const [inline] |
The template parameter CustomUnaryOp is the type of the functor of the custom unary operator.
Example:
#include <Eigen/Core> #include <iostream> using namespace Eigen; using namespace std; // define a custom template unary functor template<typename Scalar> struct CwiseClampOp { CwiseClampOp(const Scalar& inf, const Scalar& sup) : m_inf(inf), m_sup(sup) {} const Scalar operator()(const Scalar& x) const { return x<m_inf ? m_inf : (x>m_sup ? m_sup : x); } Scalar m_inf, m_sup; }; int main(int, char**) { Matrix4d m1 = Matrix4d::Random(); cout << m1 << endl << "becomes: " << endl << m1.unaryExpr(CwiseClampOp<double>(-0.5,0.5)) << endl; return 0; }
Output:
Definition at line 173 of file ArrayBase.h.
const ScalarMultipleReturnType operator* | ( | const Scalar & | scalar, |
const StorageBaseType & | matrix | ||
) | [friend] |
Definition at line 92 of file ArrayBase.h.
const CwiseUnaryOp<internal::scalar_multiple2_op<Scalar,std::complex<Scalar> >, const Derived> operator* | ( | const std::complex< Scalar > & | scalar, |
const StorageBaseType & | matrix | ||
) | [friend] |
Definition at line 96 of file ArrayBase.h.
const CwiseUnaryOp<internal::scalar_add_op<Scalar>, const Derived> operator+ | ( | const Scalar & | scalar, |
const EIGEN_CURRENT_STORAGE_BASE_CLASS< Derived > & | other | ||
) | [friend] |
Definition at line 122 of file ArrayBase.h.
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 | ||
) | [friend] |
Definition at line 141 of file ArrayBase.h.