diff options
author | Gael Guennebaud <g.gael@free.fr> | 2010-02-05 23:44:24 +0100 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2010-02-05 23:44:24 +0100 |
commit | 6f3f8578979b8af3d29abc8bfc17e7995bf54143 (patch) | |
tree | 8b4ac5a7bde533572ecb169c490cce631a58a549 /Eigen/src/Core/NoAlias.h | |
parent | 52167be4c8a2ea72213ebbd9ce828eeb3dcff5f3 (diff) |
make noalias works for coefficient based products
Diffstat (limited to 'Eigen/src/Core/NoAlias.h')
-rw-r--r-- | Eigen/src/Core/NoAlias.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/Eigen/src/Core/NoAlias.h b/Eigen/src/Core/NoAlias.h index bfea5c91d..e09fd0091 100644 --- a/Eigen/src/Core/NoAlias.h +++ b/Eigen/src/Core/NoAlias.h @@ -69,6 +69,14 @@ class NoAlias template<typename ProductDerived, typename Lhs, typename Rhs> EIGEN_STRONG_INLINE ExpressionType& operator-=(const ProductBase<ProductDerived, Lhs,Rhs>& other) { other.derived().subTo(m_expression); return m_expression; } + + template<typename Lhs, typename Rhs> + EIGEN_STRONG_INLINE ExpressionType& operator+=(const GeneralProduct<Lhs,Rhs,UnrolledProduct>& other) + { return m_expression.derived() += other.template flagged<0,EvalBeforeAssigningBit|EvalBeforeNestingBit>(); } + + template<typename Lhs, typename Rhs> + EIGEN_STRONG_INLINE ExpressionType& operator-=(const GeneralProduct<Lhs,Rhs,UnrolledProduct>& other) + { return m_expression.derived() -= other.template flagged<0,EvalBeforeAssigningBit|EvalBeforeNestingBit>(); } #endif protected: |