diff options
Diffstat (limited to 'doc/examples/class_CwiseUnaryOp.cpp')
-rw-r--r-- | doc/examples/class_CwiseUnaryOp.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/doc/examples/class_CwiseUnaryOp.cpp b/doc/examples/class_CwiseUnaryOp.cpp new file mode 100644 index 000000000..e10037352 --- /dev/null +++ b/doc/examples/class_CwiseUnaryOp.cpp @@ -0,0 +1,17 @@ +#include <Eigen/Core> +USING_PART_OF_NAMESPACE_EIGEN +using namespace std; + +// define a custom template binary functor +template<typename Scalar> +struct CwiseClampOp EIGEN_EMPTY_STRUCT { + CwiseClampOp(const Scalar& inf, const Scalar& sup) : m_inf(inf), m_sup(sup) {} + Scalar operator()(const Scalar& x) const { return x<m_inf ? m_inf : (x>m_sup : m_sup : x); } +}; + +int main(int, char**) +{ + Matrix4d m1 = Matrix4d::random(), m2 = Matrix4d::random(); + cout << m1.cwise(m2, CwiseClampOp<Matrix4d::Scalar>(-0.5,0.5)) << endl; + return 0; +} |