diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2016-09-18 12:42:15 +0200 |
---|---|---|
committer | Stanislaw Halik <sthalik@misaki.pl> | 2016-11-02 15:12:04 +0100 |
commit | 44861dcbfeee041223c4aac1ee075e92fa4daa01 (patch) | |
tree | 6dfdfd9637846a7aedd71ace97d7d2ad366496d7 /eigen/doc/examples/class_CwiseUnaryOp.cpp | |
parent | f3fe458b9e0a29a99a39d47d9a76dc18964b6fec (diff) |
update
Diffstat (limited to 'eigen/doc/examples/class_CwiseUnaryOp.cpp')
-rw-r--r-- | eigen/doc/examples/class_CwiseUnaryOp.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/eigen/doc/examples/class_CwiseUnaryOp.cpp b/eigen/doc/examples/class_CwiseUnaryOp.cpp new file mode 100644 index 0000000..a5fcc15 --- /dev/null +++ b/eigen/doc/examples/class_CwiseUnaryOp.cpp @@ -0,0 +1,19 @@ +#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; +} |