diff options
author | Jitse Niesen <jitse@maths.leeds.ac.uk> | 2010-12-27 16:35:25 +0000 |
---|---|---|
committer | Jitse Niesen <jitse@maths.leeds.ac.uk> | 2010-12-27 16:35:25 +0000 |
commit | 657013c9743d9774d2fbb227b16e575b2f1ac2b0 (patch) | |
tree | c393a7a1a1f71cdc73b69c0f7e27064a282cb0d3 | |
parent | 265e1ef4ef4e44d9b3e69040d84044c19b60370b (diff) |
Mention ptr_fun in docs for .unaryExpr()
-rw-r--r-- | Eigen/src/plugins/CommonCwiseUnaryOps.h | 14 | ||||
-rw-r--r-- | doc/examples/class_CwiseUnaryOp_ptrfun.cpp | 20 |
2 files changed, 31 insertions, 3 deletions
diff --git a/Eigen/src/plugins/CommonCwiseUnaryOps.h b/Eigen/src/plugins/CommonCwiseUnaryOps.h index f2da51efa..631d6197b 100644 --- a/Eigen/src/plugins/CommonCwiseUnaryOps.h +++ b/Eigen/src/plugins/CommonCwiseUnaryOps.h @@ -130,10 +130,18 @@ real() const { return derived(); } inline const ImagReturnType 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 - * of the custom unary operator. + * The function \c ptr_fun() from the C++ standard library can be used to make functors out of normal functions. + * + * 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: * \include class_CwiseUnaryOp.cpp diff --git a/doc/examples/class_CwiseUnaryOp_ptrfun.cpp b/doc/examples/class_CwiseUnaryOp_ptrfun.cpp new file mode 100644 index 000000000..36706d8ed --- /dev/null +++ b/doc/examples/class_CwiseUnaryOp_ptrfun.cpp @@ -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; +} |