aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Core/Ref.h
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2014-02-19 13:17:41 +0100
committerGravatar Gael Guennebaud <g.gael@free.fr>2014-02-19 13:17:41 +0100
commit3a735a6cf17db3f7aab0eee34412d3b711e64044 (patch)
tree74269e2431712c093ca78009e6b5a27af056a6a2 /Eigen/src/Core/Ref.h
parentccc41128fb936563651a3c5b25bfc80f303710bf (diff)
Fix lazy evaluation in Ref
Diffstat (limited to 'Eigen/src/Core/Ref.h')
-rw-r--r--Eigen/src/Core/Ref.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/Eigen/src/Core/Ref.h b/Eigen/src/Core/Ref.h
index ce9e82913..665b7497a 100644
--- a/Eigen/src/Core/Ref.h
+++ b/Eigen/src/Core/Ref.h
@@ -239,7 +239,11 @@ template<typename TPlainObjectType, int Options, typename StrideType> class Ref<
template<typename Expression>
void construct(const Expression& expr, internal::false_type)
{
+#ifdef EIGEN_TEST_EVALUATORS
+ internal::call_assignment_no_alias(m_object,expr,internal::assign_op<Scalar>());
+#else
m_object.lazyAssign(expr);
+#endif
Base::construct(m_object);
}