From d02eccf5840b356e741ea0e3166db2c7623b88c4 Mon Sep 17 00:00:00 2001 From: Benoit Jacob Date: Mon, 14 Dec 2009 22:47:14 -0500 Subject: add SSE path for Matrix4f inverse, taken from Intel except that we do a kosher division instead of RCPPS-followed-by-Newton-Raphson. The rationale for that is that elsewhere in Eigen we dont allow ourselves this approximation (which throws 2 bits of mantissa), so there's no reason we should allow it here. --- test/prec_inverse_4x4.cpp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'test/prec_inverse_4x4.cpp') diff --git a/test/prec_inverse_4x4.cpp b/test/prec_inverse_4x4.cpp index 83b1a8a71..8b7dbd8e7 100644 --- a/test/prec_inverse_4x4.cpp +++ b/test/prec_inverse_4x4.cpp @@ -37,12 +37,9 @@ template void inverse_permutation_4x4() MatrixType m = PermutationMatrix<4>(indices); MatrixType inv = m.inverse(); double error = double( (m*inv-MatrixType::Identity()).norm() / epsilon() ); - error_max = std::max(error_max, error); + VERIFY(error == 0.0); std::next_permutation(indices.data(),indices.data()+4); } - std::cerr << "inverse_permutation_4x4, Scalar = " << type_name() << std::endl; - EIGEN_DEBUG_VAR(error_max); - VERIFY(error_max < 1. ); } template void inverse_general_4x4(int repeat) @@ -68,7 +65,7 @@ template void inverse_general_4x4(int repeat) EIGEN_DEBUG_VAR(error_avg); EIGEN_DEBUG_VAR(error_max); VERIFY(error_avg < (NumTraits::IsComplex ? 8.0 : 1.0)); - VERIFY(error_max < (NumTraits::IsComplex ? 64.0 : 16.0)); + VERIFY(error_max < (NumTraits::IsComplex ? 64.0 : 20.0)); } void test_prec_inverse_4x4() -- cgit v1.2.3