diff options
author | Gael Guennebaud <g.gael@free.fr> | 2008-03-06 11:36:27 +0000 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2008-03-06 11:36:27 +0000 |
commit | 138aad0ed03cb9045b1f74ce52f0e47ce02966c8 (patch) | |
tree | b1e6ec6111cc8452177ea8d166e94124d387f331 /doc/examples/class_CwiseUnaryOp.cpp | |
parent | 8e0d548039f260db2eacb1e54e62e1acdbd4dd09 (diff) |
* coefficient wise operators are more generic, with controllable result type.
- compatible with current STL's functors as well as with the extention proposal (TR1)
* thanks to the above, Cast and ScalarMultiple have been removed
* benchmark_suite is more flexible (compiler and matrix size)
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; +} |