From f3f026c9aacfc3ad28c54b4f5287b7b58e62d8ac Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Thu, 5 Jan 2017 13:36:08 +0100 Subject: Convert integers to real numbers when computing relative L2 error --- test/main.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'test/main.h') diff --git a/test/main.h b/test/main.h index ea27b9715..1d5bdc1c4 100644 --- a/test/main.h +++ b/test/main.h @@ -372,10 +372,10 @@ inline bool test_isApproxOrLessThan(const half& a, const half& b) // test_relative_error returns the relative difference between a and b as a real scalar as used in isApprox. template -typename T1::RealScalar test_relative_error(const EigenBase &a, const EigenBase &b) +typename NumTraits::NonInteger test_relative_error(const EigenBase &a, const EigenBase &b) { using std::sqrt; - typedef typename T1::RealScalar RealScalar; + typedef typename NumTraits::NonInteger RealScalar; typename internal::nested_eval::type ea(a.derived()); typename internal::nested_eval::type eb(b.derived()); return sqrt(RealScalar((ea-eb).cwiseAbs2().sum()) / RealScalar((std::min)(eb.cwiseAbs2().sum(),ea.cwiseAbs2().sum()))); @@ -433,9 +433,9 @@ typename T1::RealScalar test_relative_error(const SparseMatrixBase &a, const } template -typename NumTraits::Real test_relative_error(const T1 &a, const T2 &b, typename internal::enable_if::Real>::value, T1>::type* = 0) +typename NumTraits::Real>::NonInteger test_relative_error(const T1 &a, const T2 &b, typename internal::enable_if::Real>::value, T1>::type* = 0) { - typedef typename NumTraits::Real RealScalar; + typedef typename NumTraits::Real>::NonInteger RealScalar; return numext::sqrt(RealScalar(numext::abs2(a-b))/RealScalar((numext::mini)(numext::abs2(a),numext::abs2(b)))); } -- cgit v1.2.3