diff options
Diffstat (limited to 'eigen/doc/examples/class_CwiseBinaryOp.cpp')
-rw-r--r-- | eigen/doc/examples/class_CwiseBinaryOp.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/eigen/doc/examples/class_CwiseBinaryOp.cpp b/eigen/doc/examples/class_CwiseBinaryOp.cpp new file mode 100644 index 0000000..682af46 --- /dev/null +++ b/eigen/doc/examples/class_CwiseBinaryOp.cpp @@ -0,0 +1,18 @@ +#include <Eigen/Core> +#include <iostream> +using namespace Eigen; +using namespace std; + +// define a custom template binary functor +template<typename Scalar> struct MakeComplexOp { + EIGEN_EMPTY_STRUCT_CTOR(MakeComplexOp) + typedef complex<Scalar> result_type; + complex<Scalar> operator()(const Scalar& a, const Scalar& b) const { return complex<Scalar>(a,b); } +}; + +int main(int, char**) +{ + Matrix4d m1 = Matrix4d::Random(), m2 = Matrix4d::Random(); + cout << m1.binaryExpr(m2, MakeComplexOp<double>()) << endl; + return 0; +} |