bug #1435: fix aliasing issue in exressions like: A = C - B*A;

(grafted from 4bbc320468
)
This commit is contained in:
Gael Guennebaud
2017-06-08 12:55:25 +02:00
parent 3aef5c1a2f
commit e36c1f7501
2 changed files with 7 additions and 0 deletions

View File

@@ -51,6 +51,7 @@ template<typename MatrixType> void product_notemporary(const MatrixType& m)
VERIFY_EVALUATION_COUNT( m3.noalias() = s1 * (m1 * m2.transpose()), 0);
VERIFY_EVALUATION_COUNT( m3 = m3 + (m1 * m2.adjoint()), 1);
VERIFY_EVALUATION_COUNT( m3 = m3 - (m1 * m2.adjoint()), 1);
VERIFY_EVALUATION_COUNT( m3 = m3 + (m1 * m2.adjoint()).transpose(), 1);
VERIFY_EVALUATION_COUNT( m3.noalias() = m3 + m1 * m2.transpose(), 0);