Mention ptr_fun in docs for .unaryExpr()

This commit is contained in:
Jitse Niesen 2010-12-27 16:35:25 +00:00
parent 265e1ef4ef
commit 657013c974
2 changed files with 31 additions and 3 deletions

View File

@ -130,10 +130,18 @@ real() const { return derived(); }
inline const ImagReturnType inline const ImagReturnType
imag() const { return derived(); } imag() const { return derived(); }
/** \returns an expression of a custom coefficient-wise unary operator \a func of *this /** \brief Apply a unary operator coefficient-wise
* \param[in] func Functor implementing the unary operator
* \tparam CustomUnaryOp Type of \a func
* \returns An expression of a custom coefficient-wise unary operator \a func of *this
* *
* The template parameter \a CustomUnaryOp is the type of the functor * The function \c ptr_fun() from the C++ standard library can be used to make functors out of normal functions.
* of the custom unary operator. *
* Example:
* \include class_CwiseUnaryOp_ptrfun.cpp
* Output: \verbinclude class_CwiseUnaryOp_ptrfun.out
*
* Genuine functors allow for more possibilities, for instance it may contain a state.
* *
* Example: * Example:
* \include class_CwiseUnaryOp.cpp * \include class_CwiseUnaryOp.cpp

View File

@ -0,0 +1,20 @@
#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;
}