* Make ReturnByValue have the EvalBeforeAssigningBit and explicitly

enforce this mechanism (otherwise ReturnByValue bypasses it).
 (use .noalias() to get the old behavior.)
* Remove a hack in Inverse, futile optimization for 2x2 expressions.
This commit is contained in:
Benoit Jacob
2010-05-30 13:43:08 -04:00
parent 48b8ace517
commit 641d968a9a
4 changed files with 21 additions and 23 deletions

View File

@@ -64,7 +64,9 @@ template<typename MatrixType> void inverse_general_4x4(int repeat)
double error_avg = error_sum / repeat;
EIGEN_DEBUG_VAR(error_avg);
EIGEN_DEBUG_VAR(error_max);
VERIFY(error_avg < (NumTraits<Scalar>::IsComplex ? 8.0 : 1.2)); // FIXME that 1.2 used to be a 1.0 until the NumTraits changes on 28 April 2010, what's going wrong??
// FIXME that 1.3 used to be a 1.0 until the NumTraits changes on 28 April 2010, and then a 1.2 until the ReturnByValue/Inverse changes
// on 30 May 2010, what's going wrong (if anything) ??
VERIFY(error_avg < (NumTraits<Scalar>::IsComplex ? 8.0 : 1.3));
VERIFY(error_max < (NumTraits<Scalar>::IsComplex ? 64.0 : 20.0));
}