Base class for all 1D and 2D array, and related expressions. More...
Inheritance diagram for ArrayBase< Derived >:Public Member Functions | |
| const CwiseUnaryOp < internal::scalar_abs_op < Scalar >, const Derived > | abs () const |
| const CwiseUnaryOp < internal::scalar_abs2_op < Scalar >, const Derived > | abs2 () const |
| const CwiseUnaryOp < internal::scalar_acos_op < Scalar >, const Derived > | acos () const |
| const CwiseUnaryOp < internal::scalar_asin_op < Scalar >, const Derived > | asin () const |
| template<typename CustomBinaryOp , typename OtherDerived > | |
| const CwiseBinaryOp < CustomBinaryOp, const Derived, const OtherDerived > | binaryExpr (const Eigen::ArrayBase< 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 |
| const CwiseUnaryOp < internal::scalar_abs_op < Scalar >, const Derived > | cwiseAbs () const |
| const CwiseUnaryOp < internal::scalar_abs2_op < Scalar >, const Derived > | cwiseAbs2 () const |
| template<typename OtherDerived > | |
| const | CwiseBinaryOp (min)(const Eigen |
| template<typename OtherDerived > | |
| const | CwiseBinaryOp (operator-)(const Eigen |
| template<typename OtherDerived > | |
| const | CwiseBinaryOp (max)(const Eigen |
| template<typename OtherDerived > | |
| const | CwiseBinaryOp (operator+)(const Eigen |
| template<typename OtherDerived > | |
| const | CwiseBinaryOp (operator<)(const Eigen |
| template<typename OtherDerived > | |
| const | CwiseBinaryOp (operator<=)(const Eigen |
| template<typename OtherDerived > | |
| const | CwiseBinaryOp (operator>)(const Eigen |
| template<typename OtherDerived > | |
| const | CwiseBinaryOp (operator>=)(const Eigen |
| template<typename OtherDerived > | |
| const | CwiseBinaryOp (operator==)(const Eigen |
| template<typename OtherDerived > | |
| const | CwiseBinaryOp (operator!=)(const Eigen |
| template<typename OtherDerived > | |
| const CwiseBinaryOp < std::equal_to< Scalar > , const Derived, const OtherDerived > | cwiseEqual (const Eigen::ArrayBase< 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 > | |
| const CwiseBinaryOp < internal::scalar_max_op < Scalar >, const Derived, const OtherDerived > | cwiseMax (const Eigen::ArrayBase< OtherDerived > &other) const |
| template<typename OtherDerived > | |
| const CwiseBinaryOp < internal::scalar_min_op < Scalar >, const Derived, const OtherDerived > | cwiseMin (const Eigen::ArrayBase< OtherDerived > &other) const |
| template<typename OtherDerived > | |
| const CwiseBinaryOp < std::not_equal_to< Scalar > , const Derived, const OtherDerived > | cwiseNotEqual (const Eigen::ArrayBase< OtherDerived > &other) const |
| template<typename OtherDerived > | |
| const CwiseBinaryOp < internal::scalar_product_op < typename internal::traits < Derived >::Scalar, typename internal::traits< OtherDerived > ::Scalar >, const Derived, const OtherDerived > | cwiseProduct (const Eigen::ArrayBase< OtherDerived > &other) const |
| template<typename OtherDerived > | |
| const CwiseBinaryOp < internal::scalar_quotient_op < Scalar >, const Derived, const OtherDerived > | cwiseQuotient (const Eigen::ArrayBase< OtherDerived > &other) const |
| const CwiseUnaryOp < internal::scalar_sqrt_op < Scalar >, const Derived > | cwiseSqrt () 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 () |
| template<typename OtherDerived > | |
| const CwiseBinaryOp < internal::scalar_product_op < typename internal::traits < Derived >::Scalar, typename internal::traits< OtherDerived > ::Scalar >, const Derived, const OtherDerived > | operator* (const Eigen::ArrayBase< OtherDerived > &other) 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 |
| 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 |
| template<typename OtherDerived > | |
| Derived & | operator-= (const ArrayBase< OtherDerived > &other) |
| template<typename OtherDerived > | |
| const CwiseBinaryOp < internal::scalar_quotient_op < Scalar >, const Derived, const OtherDerived > | operator/ (const Eigen::ArrayBase< 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 |
Public Member Functions inherited from DenseBase< Derived > | |
| bool | all (void) const |
| bool | any (void) const |
| 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 |
| 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 |
| 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 |
| 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 |
| RowsBlockXpr | bottomRows (Index n) |
| ConstRowsBlockXpr | bottomRows (Index n) const |
| template<int N> | |
| NRowsBlockXpr< N >::Type | bottomRows () |
| template<int N> | |
| ConstNRowsBlockXpr< N >::Type | bottomRows () const |
| ColXpr | col (Index i) |
| ConstColXpr | col (Index i) const |
| ConstColwiseReturnType | colwise () const |
| ColwiseReturnType | colwise () |
| Index | count () const |
| const internal::eval< Derived > ::type | eval () const |
| void | fill (const Scalar &value) |
| template<unsigned int Added, unsigned int Removed> | |
| const Flagged< Derived, Added, Removed > | flagged () const |
| const WithFormat< Derived > | format (const IOFormat &fmt) const |
| SegmentReturnType | head (Index size) |
| DenseBase::ConstSegmentReturnType | head (Index size) const |
| template<int Size> | |
| FixedSegmentReturnType< Size > ::Type | head () |
| template<int Size> | |
| ConstFixedSegmentReturnType < Size >::Type | head () const |
| Index | innerSize () const |
| template<typename OtherDerived > | |
| bool | isApprox (const DenseBase< OtherDerived > &other, RealScalar prec=NumTraits< Scalar >::dummy_precision()) const |
| bool | isApproxToConstant (const Scalar &value, RealScalar prec=NumTraits< Scalar >::dummy_precision()) const |
| bool | isConstant (const Scalar &value, RealScalar prec=NumTraits< Scalar >::dummy_precision()) const |
| template<typename Derived > | |
| bool | isMuchSmallerThan (const typename NumTraits< Scalar >::Real &other, RealScalar prec) const |
| template<typename OtherDerived > | |
| bool | isMuchSmallerThan (const DenseBase< OtherDerived > &other, RealScalar prec=NumTraits< Scalar >::dummy_precision()) const |
| bool | isOnes (RealScalar prec=NumTraits< Scalar >::dummy_precision()) const |
| bool | isZero (RealScalar prec=NumTraits< Scalar >::dummy_precision()) 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 |
| internal::traits< Derived >::Scalar | maxCoeff () const |
| template<typename IndexType > | |
| internal::traits< Derived >::Scalar | maxCoeff (IndexType *row, IndexType *col) const |
| template<typename IndexType > | |
| internal::traits< Derived >::Scalar | maxCoeff (IndexType *index) const |
| Scalar | mean () 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 |
| 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 |
| internal::traits< Derived >::Scalar | minCoeff () const |
| template<typename IndexType > | |
| internal::traits< Derived >::Scalar | minCoeff (IndexType *row, IndexType *col) const |
| template<typename IndexType > | |
| internal::traits< Derived >::Scalar | minCoeff (IndexType *index) const |
| const NestByValue< Derived > | nestByValue () const |
| Index | nonZeros () const |
| CommaInitializer< Derived > | operator<< (const Scalar &s) |
| template<typename OtherDerived > | |
| CommaInitializer< Derived > | operator<< (const DenseBase< OtherDerived > &other) |
| 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. | |
| Index | outerSize () const |
| Scalar | prod () const |
| template<typename Func > | |
| internal::result_of< Func(typename internal::traits< Derived > ::Scalar)>::type | redux (const Func &func) const |
| template<int RowFactor, int ColFactor> | |
| const Replicate< Derived, RowFactor, ColFactor > | replicate () const |
| const Replicate< Derived, Dynamic, Dynamic > | replicate (Index rowFacor, Index colFactor) const |
| void | resize (Index size) |
| void | resize (Index rows, Index cols) |
| ReverseReturnType | reverse () |
| ConstReverseReturnType | reverse () const |
| void | reverseInPlace () |
| ColsBlockXpr | rightCols (Index n) |
| ConstColsBlockXpr | rightCols (Index n) const |
| template<int N> | |
| NColsBlockXpr< N >::Type | rightCols () |
| template<int N> | |
| ConstNColsBlockXpr< N >::Type | rightCols () const |
| RowXpr | row (Index i) |
| ConstRowXpr | row (Index i) const |
| ConstRowwiseReturnType | rowwise () const |
| RowwiseReturnType | rowwise () |
| SegmentReturnType | segment (Index start, Index size) |
| DenseBase::ConstSegmentReturnType | segment (Index start, Index size) const |
| template<int Size> | |
| FixedSegmentReturnType< Size > ::Type | segment (Index start) |
| template<int Size> | |
| ConstFixedSegmentReturnType < Size >::Type | segment (Index start) const |
| 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, typename ThenDerived::Scalar elseScalar) const |
| template<typename ElseDerived > | |
| const Select< Derived, typename ElseDerived::ConstantReturnType, ElseDerived > | select (typename ElseDerived::Scalar thenScalar, const DenseBase< ElseDerived > &elseMatrix) const |
| Derived & | setConstant (const Scalar &value) |
| Derived & | setLinSpaced (Index size, const Scalar &low, const Scalar &high) |
| Sets a linearly space vector. | |
| Derived & | setOnes () |
| Derived & | setRandom () |
| Derived & | setZero () |
| Scalar | sum () const |
| template<typename OtherDerived > | |
| void | swap (const DenseBase< OtherDerived > &other, int=OtherDerived::ThisConstantIsPrivateInPlainObjectBase) |
| template<typename OtherDerived > | |
| void | swap (PlainObjectBase< OtherDerived > &other) |
| SegmentReturnType | tail (Index size) |
| DenseBase::ConstSegmentReturnType | tail (Index size) const |
| template<int Size> | |
| FixedSegmentReturnType< Size > ::Type | tail () |
| template<int Size> | |
| ConstFixedSegmentReturnType < Size >::Type | tail () 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 |
| 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 |
| RowsBlockXpr | topRows (Index n) |
| ConstRowsBlockXpr | topRows (Index n) const |
| template<int N> | |
| NRowsBlockXpr< N >::Type | topRows () |
| template<int N> | |
| ConstNRowsBlockXpr< N >::Type | topRows () const |
| Eigen::Transpose< Derived > | transpose () |
| ConstTransposeReturnType | transpose () const |
| void | transposeInPlace () |
| CoeffReturnType | value () const |
| template<typename Visitor > | |
| void | visit (Visitor &func) const |
Additional Inherited Members | |
Public Types inherited from DenseBase< Derived > | |
| enum | { RowsAtCompileTime, ColsAtCompileTime, SizeAtCompileTime, MaxRowsAtCompileTime, MaxColsAtCompileTime, MaxSizeAtCompileTime, IsVectorAtCompileTime, Flags, IsRowMajor , CoeffReadCost } |
| typedef internal::traits < Derived >::Index | Index |
| The type of indices. | |
Static Public Member Functions inherited from 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. | |
| static const RandomAccessLinSpacedReturnType | LinSpaced (Index size, const Scalar &low, const Scalar &high) |
| Sets a linearly space vector. | |
| static const SequentialLinSpacedReturnType | LinSpaced (Sequential_t, const Scalar &low, const Scalar &high) |
| Sets a linearly space vector. | |
| static const RandomAccessLinSpacedReturnType | LinSpaced (const Scalar &low, const Scalar &high) |
| Sets a linearly space vector. | |
| 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 | 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 () |
| static const ConstantReturnType | Zero (Index rows, Index cols) |
| static const ConstantReturnType | Zero (Index size) |
| static const ConstantReturnType | Zero () |
Protected Member Functions inherited from DenseBase< Derived > | |
| DenseBase () | |
Related Functions inherited from DenseBase< Derived > | |
| template<typename Derived > | |
| std::ostream & | operator<< (std::ostream &s, const DenseBase< Derived > &m) |
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.
|
inline |
*this Example:
Output:
1 2 3
|
inline |
|
inline |
|
inline |
|
inline |
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:
(0.68,0.271) (0.823,-0.967) (-0.444,-0.687) (-0.27,0.998) (-0.211,0.435) (-0.605,-0.514) (0.108,-0.198) (0.0268,-0.563) (0.566,-0.717) (-0.33,-0.726) (-0.0452,-0.74) (0.904,0.0259) (0.597,0.214) (0.536,0.608) (0.258,-0.782) (0.832,0.678)
|
inline |
The template parameter NewScalar is the type we are casting the scalars to.
|
inline |
*this.
|
inline |
|
inline |
|
inline |
*this Example:
Output:
2 4 6 5 1 0
|
inline |
*this Example:
Output:
4 16 36 25 1 0
|
inline |
*this and other Example:
Output:
2 2 3
|
inline |
*this and other
|
inline |
*this and other Example:
Output:
4 3 4
|
inline |
*this and other
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Example:
Output:
0 1 0
|
inline |
Example:
Output:
1 0 1
|
inline |
Example:
Output:
Comparing m with identity matrix: 1 1 0 1 Number of coefficients that are equal: 3
|
inline |
*this and a scalar s
|
inline |
Example:
Output:
0.5 2 1 0.333 4 1
|
inline |
Example:
Output:
4 3 4
|
inline |
Example:
Output:
2 2 3
|
inline |
Example:
Output:
Comparing m with identity matrix: 0 0 1 0 Number of coefficients that are not equal: 1
|
inline |
Example:
Output:
a: 7 6 -3 -2 9 6 6 -6 -5 b: 1 -3 9 0 0 3 3 9 5 c: 7 -18 -27 0 0 18 18 -54 -25
|
inline |
Example:
Output:
0.5 1.5 1.33
|
inline |
Example:
Output:
1 1.41 2
|
inline |
|
inline |
*this.
|
inline |
*this.
|
inline |
Example:
Output:
0.5 0.333 0.25
|
inline |
Example:
Output:
0 0.693 1.1
|
inline |
|
inline |
*this and other
|
inline |
*this scaled by the scalar factor scalar
|
inline |
Overloaded for efficient real matrix times complex scalar value
|
inline |
replaces *this by *this * other coefficient wise.
*this
|
inline |
*this with each coeff incremented by the constant scalar Example:
Output:
6 7 8
|
inline |
replaces *this by *this + other.
*this
|
inline |
*this
|
inline |
*this with each coeff decremented by the constant scalar Example:
Output:
-4 -3 -2
|
inline |
replaces *this by *this - other.
*this
|
inline |
*this and other
|
inline |
*this divided by the scalar value scalar
|
inline |
replaces *this by *this / other coefficient wise.
*this
|
inline |
Special case of the template operator=, in order to prevent the compiler from generating a default operator= (issue hit with g++ 4.1)
|
inline |
|
inline |
*this.
|
inline |
*this.
|
inline |
|
inline |
|
inline |
Example:
Output:
4 9 16
|
inline |
|
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:
Output:
0.68 0.823 -0.444 -0.27
-0.211 -0.605 0.108 0.0268
0.566 -0.33 -0.0452 0.904
0.597 0.536 0.258 0.832
becomes:
0.68 0.823 0 0
0 0 0.108 0.0268
0.566 0 0 0.904
0.597 0.536 0.258 0.832
Genuine functors allow for more possibilities, for instance it may contain a state.
Example:
Output:
0.68 0.823 -0.444 -0.27
-0.211 -0.605 0.108 0.0268
0.566 -0.33 -0.0452 0.904
0.597 0.536 0.258 0.832
becomes:
0.5 0.5 -0.444 -0.27
-0.211 -0.5 0.108 0.0268
0.5 -0.33 -0.0452 0.5
0.5 0.5 0.258 0.5
|
inline |
The template parameter CustomUnaryOp is the type of the functor of the custom unary operator.
Example:
Output:
0.68 0.823 -0.444 -0.27
-0.211 -0.605 0.108 0.0268
0.566 -0.33 -0.0452 0.904
0.597 0.536 0.258 0.832
becomes:
0.5 0.5 -0.444 -0.27
-0.211 -0.5 0.108 0.0268
0.5 -0.33 -0.0452 0.5
0.5 0.5 0.258 0.5
1.8.1.2