aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Core/NoAlias.h
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2014-02-18 13:31:44 +0100
committerGravatar Gael Guennebaud <g.gael@free.fr>2014-02-18 13:31:44 +0100
commit8cfb138e73be76105d4d58bd82e22f921eea75db (patch)
tree90a71cb1dae6643cae398705881d5f6bf5146032 /Eigen/src/Core/NoAlias.h
parent1b5de5a37b47ef2738e5bdf4135777f00ac5967d (diff)
Finally, the simplest remains to deffer resizing at the latest
Diffstat (limited to 'Eigen/src/Core/NoAlias.h')
-rw-r--r--Eigen/src/Core/NoAlias.h8
1 files changed, 3 insertions, 5 deletions
diff --git a/Eigen/src/Core/NoAlias.h b/Eigen/src/Core/NoAlias.h
index 412e37258..fe6dded60 100644
--- a/Eigen/src/Core/NoAlias.h
+++ b/Eigen/src/Core/NoAlias.h
@@ -40,9 +40,7 @@ class NoAlias
EIGEN_DEVICE_FUNC
EIGEN_STRONG_INLINE ExpressionType& operator=(const StorageBase<OtherDerived>& other)
{
- // TODO either call resize here or call "call_assignment" through m_expression.lazyAssign() ??
- m_expression.resize(other.derived().rows(), other.derived().cols());
- call_assignment(*this, other.derived(), internal::assign_op<Scalar>());
+ call_assignment_no_alias(m_expression, other.derived(), internal::assign_op<Scalar>());
return m_expression;
}
@@ -50,7 +48,7 @@ class NoAlias
EIGEN_DEVICE_FUNC
EIGEN_STRONG_INLINE ExpressionType& operator+=(const StorageBase<OtherDerived>& other)
{
- call_assignment(*this, other.derived(), internal::add_assign_op<Scalar>());
+ call_assignment_no_alias(m_expression, other.derived(), internal::add_assign_op<Scalar>());
return m_expression;
}
@@ -58,7 +56,7 @@ class NoAlias
EIGEN_DEVICE_FUNC
EIGEN_STRONG_INLINE ExpressionType& operator-=(const StorageBase<OtherDerived>& other)
{
- call_assignment(*this, other.derived(), internal::sub_assign_op<Scalar>());
+ call_assignment_no_alias(m_expression, other.derived(), internal::sub_assign_op<Scalar>());
return m_expression;
}