From 8f1fc80a77551b26c05669527534aff7b621b86c Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Thu, 22 May 2008 16:31:00 +0000 Subject: some documentation fixes (Cwise* and Cholesky) --- doc/examples/class_CwiseBinaryOp.cpp | 22 +++++----------------- 1 file changed, 5 insertions(+), 17 deletions(-) (limited to 'doc/examples/class_CwiseBinaryOp.cpp') diff --git a/doc/examples/class_CwiseBinaryOp.cpp b/doc/examples/class_CwiseBinaryOp.cpp index b91abd1ef..f95090b4d 100644 --- a/doc/examples/class_CwiseBinaryOp.cpp +++ b/doc/examples/class_CwiseBinaryOp.cpp @@ -1,29 +1,17 @@ -// FIXME - this example is not too good as that functionality is provided in the Eigen API -// additionally it's quite heavy. the CwiseUnaryOp example is better. - #include USING_PART_OF_NAMESPACE_EIGEN using namespace std; // define a custom template binary functor -template struct CwiseMinOp EIGEN_EMPTY_STRUCT { - Scalar operator()(const Scalar& a, const Scalar& b) const { return std::min(a,b); } - enum { Cost = Eigen::ConditionalJumpCost + Eigen::NumTraits::AddCost }; +template struct MakeComplexOp EIGEN_EMPTY_STRUCT { + typedef complex result_type; + complex operator()(const Scalar& a, const Scalar& b) const { return complex(a,b); } + enum { Cost = 0 }; }; -// define a custom binary operator between two matrices -template -const Eigen::CwiseBinaryOp, Derived1, Derived2> -cwiseMin(const MatrixBase &mat1, const MatrixBase &mat2) -{ - return Eigen::CwiseBinaryOp, Derived1, Derived2>(mat1, mat2); -} - int main(int, char**) { Matrix4d m1 = Matrix4d::random(), m2 = Matrix4d::random(); - cout << cwiseMin(m1,m2) << endl; // use our new global operator - cout << m1.cwise >(m2) << endl; // directly use the generic expression member - cout << m1.cwise(m2, CwiseMinOp()) << endl; // directly use the generic expression member (variant) + cout << m1.cwise(m2, MakeComplexOp()) << endl; return 0; } -- cgit v1.2.3