6 // define a custom template binary functor
7 template<typename Scalar
> struct MakeComplexOp
{
8 EIGEN_EMPTY_STRUCT_CTOR(MakeComplexOp
)
9 typedef complex<Scalar
> result_type
;
10 complex<Scalar
> operator()(const Scalar
& a
, const Scalar
& b
) const { return complex<Scalar
>(a
,b
); }
15 Matrix4d m1
= Matrix4d::Random(), m2
= Matrix4d::Random();
16 cout
<< m1
.binaryExpr(m2
, MakeComplexOp
<double>()) << endl
;