fix always true warning with gcc 4.7

This commit is contained in:
Gael Guennebaud 2019-01-15 11:18:48 +01:00
parent 6cf7afa3d9
commit 32d7232aec

View File

@ -12,6 +12,7 @@
template<typename T> template<typename T>
void check_abs() { void check_abs() {
typedef typename NumTraits<T>::Real Real; typedef typename NumTraits<T>::Real Real;
Real zero(0);
if(NumTraits<T>::IsSigned) if(NumTraits<T>::IsSigned)
VERIFY_IS_EQUAL(numext::abs(-T(1)), T(1)); VERIFY_IS_EQUAL(numext::abs(-T(1)), T(1));
@ -26,9 +27,9 @@ void check_abs() {
if(NumTraits<T>::IsSigned) if(NumTraits<T>::IsSigned)
{ {
VERIFY_IS_EQUAL(numext::abs(x), numext::abs(-x)); VERIFY_IS_EQUAL(numext::abs(x), numext::abs(-x));
VERIFY( numext::abs(-x) >= Real(0)); VERIFY( numext::abs(-x) >= zero );
} }
VERIFY( numext::abs(x) >= Real(0)); VERIFY( numext::abs(x) >= zero );
VERIFY_IS_APPROX( numext::abs2(x), numext::abs2(numext::abs(x)) ); VERIFY_IS_APPROX( numext::abs2(x), numext::abs2(numext::abs(x)) );
} }
} }