aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Core/Visitor.h
diff options
context:
space:
mode:
authorGravatar Benoit Jacob <jacob.benoit.1@gmail.com>2010-06-11 07:56:50 -0400
committerGravatar Benoit Jacob <jacob.benoit.1@gmail.com>2010-06-11 07:56:50 -0400
commitbdd7c6c88a0b8cb931480e04e33a17aa08022e06 (patch)
treeecc28fd133ddabfccd76a925043e35003ada6e10 /Eigen/src/Core/Visitor.h
parent52e8c42a005cb607ba87e4f028e143d6d91f5021 (diff)
change the value of Dynamic to -1, since the index type is now configurable.
remove EIGEN_ENUM_MIN/MAX, implement new macros instead
Diffstat (limited to 'Eigen/src/Core/Visitor.h')
-rw-r--r--Eigen/src/Core/Visitor.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/Eigen/src/Core/Visitor.h b/Eigen/src/Core/Visitor.h
index 2e96cfe6b..9116b9512 100644
--- a/Eigen/src/Core/Visitor.h
+++ b/Eigen/src/Core/Visitor.h
@@ -86,9 +86,11 @@ template<typename Derived>
template<typename Visitor>
void DenseBase<Derived>::visit(Visitor& visitor) const
{
- const bool unroll = SizeAtCompileTime * CoeffReadCost
- + (SizeAtCompileTime-1) * ei_functor_traits<Visitor>::Cost
- <= EIGEN_UNROLLING_LIMIT;
+ const bool unroll = SizeAtCompileTime != Dynamic
+ && CoeffReadCost != Dynamic
+ && (SizeAtCompileTime == 1 || ei_functor_traits<Visitor>::Cost != Dynamic)
+ && SizeAtCompileTime * CoeffReadCost + (SizeAtCompileTime-1) * ei_functor_traits<Visitor>::Cost
+ <= EIGEN_UNROLLING_LIMIT;
return ei_visitor_impl<Visitor, Derived,
unroll ? int(SizeAtCompileTime) : Dynamic
>::run(derived(), visitor);