From 92b9f0e102b35c3091bdeea3fc65f38f0e93c612 Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Wed, 2 Sep 2015 21:38:40 +0200 Subject: Cleaning pass on evaluators: remove the useless and error prone evaluator<>::type indirection. --- Eigen/src/Geometry/Homogeneous.h | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'Eigen/src/Geometry/Homogeneous.h') diff --git a/Eigen/src/Geometry/Homogeneous.h b/Eigen/src/Geometry/Homogeneous.h index 9f86eeb3d..abb4c2fd3 100644 --- a/Eigen/src/Geometry/Homogeneous.h +++ b/Eigen/src/Geometry/Homogeneous.h @@ -312,13 +312,11 @@ template<> struct AssignmentKind { typedef Dense2De template struct unary_evaluator, IndexBased> - : evaluator::PlainObject >::type + : evaluator::PlainObject > { typedef Homogeneous XprType; typedef typename XprType::PlainObject PlainObject; - typedef typename evaluator::type Base; - - typedef evaluator type; + typedef evaluator Base; typedef evaluator nestedType; explicit unary_evaluator(const XprType& op) @@ -390,6 +388,8 @@ struct product_evaluator, ProductTag, Homogeneous typedef typename helper::Xpr RefactoredXpr; typedef evaluator Base; + typedef evaluator nestedType; + EIGEN_DEVICE_FUNC explicit product_evaluator(const XprType& xpr) : Base( xpr.lhs().nestedExpression() .lazyProduct( xpr.rhs().template topRows(xpr.lhs().nestedExpression().cols()) ) + ConstantBlock(xpr.rhs().row(xpr.rhs().rows()-1),xpr.lhs().rows(), 1) ) @@ -431,6 +431,8 @@ struct product_evaluator, ProductTag, DenseShape, typedef typename helper::Xpr RefactoredXpr; typedef evaluator Base; + typedef evaluator nestedType; + EIGEN_DEVICE_FUNC explicit product_evaluator(const XprType& xpr) : Base( xpr.lhs().template leftCols(xpr.rhs().nestedExpression().rows()) .lazyProduct( xpr.rhs().nestedExpression() ) + ConstantBlock(xpr.lhs().col(xpr.lhs().cols()-1),1,xpr.rhs().cols()) ) -- cgit v1.2.3