diff options
author | Gael Guennebaud <g.gael@free.fr> | 2015-09-02 21:38:40 +0200 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2015-09-02 21:38:40 +0200 |
commit | 92b9f0e102b35c3091bdeea3fc65f38f0e93c612 (patch) | |
tree | a94a71fd6166d8f54e0ac74d6bd8afe4145754a6 /Eigen/src/Geometry | |
parent | cda55ab245aa40aacb1fc2030c5eb475afd182ad (diff) |
Cleaning pass on evaluators: remove the useless and error prone evaluator<>::type indirection.
Diffstat (limited to 'Eigen/src/Geometry')
-rw-r--r-- | Eigen/src/Geometry/Homogeneous.h | 10 |
1 files changed, 6 insertions, 4 deletions
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<DenseShape,HomogeneousShape> { typedef Dense2De template<typename ArgType,int Direction> struct unary_evaluator<Homogeneous<ArgType,Direction>, IndexBased> - : evaluator<typename Homogeneous<ArgType,Direction>::PlainObject >::type + : evaluator<typename Homogeneous<ArgType,Direction>::PlainObject > { typedef Homogeneous<ArgType,Direction> XprType; typedef typename XprType::PlainObject PlainObject; - typedef typename evaluator<PlainObject>::type Base; - - typedef evaluator<XprType> type; + typedef evaluator<PlainObject> Base; typedef evaluator<XprType> nestedType; explicit unary_evaluator(const XprType& op) @@ -390,6 +388,8 @@ struct product_evaluator<Product<Lhs, Rhs, LazyProduct>, ProductTag, Homogeneous typedef typename helper::Xpr RefactoredXpr; typedef evaluator<RefactoredXpr> Base; + typedef evaluator<XprType> nestedType; + EIGEN_DEVICE_FUNC explicit product_evaluator(const XprType& xpr) : Base( xpr.lhs().nestedExpression() .lazyProduct( xpr.rhs().template topRows<helper::Dim>(xpr.lhs().nestedExpression().cols()) ) + ConstantBlock(xpr.rhs().row(xpr.rhs().rows()-1),xpr.lhs().rows(), 1) ) @@ -431,6 +431,8 @@ struct product_evaluator<Product<Lhs, Rhs, LazyProduct>, ProductTag, DenseShape, typedef typename helper::Xpr RefactoredXpr; typedef evaluator<RefactoredXpr> Base; + typedef evaluator<XprType> nestedType; + EIGEN_DEVICE_FUNC explicit product_evaluator(const XprType& xpr) : Base( xpr.lhs().template leftCols<helper::Dim>(xpr.rhs().nestedExpression().rows()) .lazyProduct( xpr.rhs().nestedExpression() ) + ConstantBlock(xpr.lhs().col(xpr.lhs().cols()-1),1,xpr.rhs().cols()) ) |