aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Core/Visitor.h
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2015-10-28 13:39:02 +0100
committerGravatar Gael Guennebaud <g.gael@free.fr>2015-10-28 13:39:02 +0100
commit85313048581d22901c7940a46bd41b19e88ff47c (patch)
tree76853fb284423331dd4254b742c148f6cc418d11 /Eigen/src/Core/Visitor.h
parent1f11dd6cedc223f92f9ce99a22080dd267fcb488 (diff)
Simplify cost computations based on HugeCost being smaller that unrolling limit
Diffstat (limited to 'Eigen/src/Core/Visitor.h')
-rw-r--r--Eigen/src/Core/Visitor.h13
1 files changed, 5 insertions, 8 deletions
diff --git a/Eigen/src/Core/Visitor.h b/Eigen/src/Core/Visitor.h
index f3f15e9e0..7aac0b6e1 100644
--- a/Eigen/src/Core/Visitor.h
+++ b/Eigen/src/Core/Visitor.h
@@ -109,14 +109,11 @@ void DenseBase<Derived>::visit(Visitor& visitor) const
typedef typename internal::visitor_evaluator<Derived> ThisEvaluator;
ThisEvaluator thisEval(derived());
- enum { unroll = SizeAtCompileTime != Dynamic
- && ThisEvaluator::CoeffReadCost < HugeCost
- && (SizeAtCompileTime == 1 || internal::functor_traits<Visitor>::Cost < HugeCost)
- && SizeAtCompileTime * ThisEvaluator::CoeffReadCost + (SizeAtCompileTime-1) * internal::functor_traits<Visitor>::Cost
- <= EIGEN_UNROLLING_LIMIT };
- return internal::visitor_impl<Visitor, ThisEvaluator,
- unroll ? int(SizeAtCompileTime) : Dynamic
- >::run(thisEval, visitor);
+ enum {
+ unroll = SizeAtCompileTime != Dynamic
+ && SizeAtCompileTime * ThisEvaluator::CoeffReadCost + (SizeAtCompileTime-1) * internal::functor_traits<Visitor>::Cost <= EIGEN_UNROLLING_LIMIT
+ };
+ return internal::visitor_impl<Visitor, ThisEvaluator, unroll ? int(SizeAtCompileTime) : Dynamic>::run(thisEval, visitor);
}
namespace internal {