diff options
author | Gael Guennebaud <g.gael@free.fr> | 2014-02-18 13:31:44 +0100 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2014-02-18 13:31:44 +0100 |
commit | 8cfb138e73be76105d4d58bd82e22f921eea75db (patch) | |
tree | 90a71cb1dae6643cae398705881d5f6bf5146032 /Eigen/src/Core/NoAlias.h | |
parent | 1b5de5a37b47ef2738e5bdf4135777f00ac5967d (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.h | 8 |
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; } |