Fix another issue related to summing up many signed values.

This commit is contained in:
Gael Guennebaud 2013-02-23 23:06:45 +01:00
parent 42af5870a4
commit 28e139ad60

View File

@ -69,7 +69,7 @@ template<typename ArrayType> void array(const ArrayType& m)
using std::abs;
VERIFY_IS_MUCH_SMALLER_THAN(abs(m1.colwise().sum().sum() - m1.sum()), m1.abs().sum());
VERIFY_IS_MUCH_SMALLER_THAN(abs(m1.rowwise().sum().sum() - m1.sum()), m1.abs().sum());
if (!internal::isApprox(m1.sum(), (m1+m2).sum(), test_precision<Scalar>()))
if (!internal::isMuchSmallerThan(abs(m1.sum() - (m1+m2).sum()), m1.abs().sum(), test_precision<Scalar>()))
VERIFY_IS_NOT_APPROX(((m1+m2).rowwise().sum()).sum(), m1.sum());
VERIFY_IS_APPROX(m1.colwise().sum(), m1.colwise().redux(internal::scalar_sum_op<Scalar>()));