diff options
author | Deanna Hood <deanna.m.hood@gmail.com> | 2015-03-17 22:39:51 +1000 |
---|---|---|
committer | Deanna Hood <deanna.m.hood@gmail.com> | 2015-03-17 22:39:51 +1000 |
commit | 8878e1c1de73bddbcbd5d801d647ae6dcbc4e778 (patch) | |
tree | 59e36a94aa8b0fa54d8913ae598611db93c5f195 | |
parent | 596be3cd86ad976c7e03a871fc44a95f377bfe0f (diff) |
Remove ambiguity with recent numext methods isNaN and isInf
-rw-r--r-- | test/main.h | 7 | ||||
-rw-r--r-- | test/packetmath.cpp | 10 | ||||
-rw-r--r-- | test/stable_norm.cpp | 40 |
3 files changed, 26 insertions, 31 deletions
diff --git a/test/main.h b/test/main.h index ecf0c6924..5849cedd9 100644 --- a/test/main.h +++ b/test/main.h @@ -442,12 +442,7 @@ template<typename T> bool isNotNaN(const T& x) return x==x; } -template<typename T> bool isNaN(const T& x) -{ - return x!=x; -} - -template<typename T> bool isInf(const T& x) +template<typename T> bool isPlusInf(const T& x) { return x > NumTraits<T>::highest(); } diff --git a/test/packetmath.cpp b/test/packetmath.cpp index 49f601907..e3a754627 100644 --- a/test/packetmath.cpp +++ b/test/packetmath.cpp @@ -317,7 +317,7 @@ template<typename Scalar> void packetmath_real() data1[0] = std::numeric_limits<Scalar>::quiet_NaN(); packet_helper<internal::packet_traits<Scalar>::HasExp,Packet> h; h.store(data2, internal::pexp(h.load(data1))); - VERIFY(isNaN(data2[0])); + VERIFY(numext::isNaN(data2[0])); } for (int i=0; i<size; ++i) @@ -333,14 +333,14 @@ template<typename Scalar> void packetmath_real() data1[0] = std::numeric_limits<Scalar>::quiet_NaN(); packet_helper<internal::packet_traits<Scalar>::HasLog,Packet> h; h.store(data2, internal::plog(h.load(data1))); - VERIFY(isNaN(data2[0])); + VERIFY(numext::isNaN(data2[0])); data1[0] = -1.0f; h.store(data2, internal::plog(h.load(data1))); - VERIFY(isNaN(data2[0])); + VERIFY(numext::isNaN(data2[0])); #if !EIGEN_FAST_MATH h.store(data2, internal::psqrt(h.load(data1))); - VERIFY(isNaN(data2[0])); - VERIFY(isNaN(data2[1])); + VERIFY(numext::isNaN(data2[0])); + VERIFY(numext::isNaN(data2[1])); #endif } } diff --git a/test/stable_norm.cpp b/test/stable_norm.cpp index 650f62a8a..0674006de 100644 --- a/test/stable_norm.cpp +++ b/test/stable_norm.cpp @@ -111,33 +111,33 @@ template<typename MatrixType> void stable_norm(const MatrixType& m) { v = vrand; v(i,j) = std::numeric_limits<RealScalar>::quiet_NaN(); - VERIFY(!isFinite(v.squaredNorm())); VERIFY(isNaN(v.squaredNorm())); - VERIFY(!isFinite(v.norm())); VERIFY(isNaN(v.norm())); - VERIFY(!isFinite(v.stableNorm())); VERIFY(isNaN(v.stableNorm())); - VERIFY(!isFinite(v.blueNorm())); VERIFY(isNaN(v.blueNorm())); - VERIFY(!isFinite(v.hypotNorm())); VERIFY(isNaN(v.hypotNorm())); + VERIFY(!isFinite(v.squaredNorm())); VERIFY(numext::isNaN(v.squaredNorm())); + VERIFY(!isFinite(v.norm())); VERIFY(numext::isNaN(v.norm())); + VERIFY(!isFinite(v.stableNorm())); VERIFY(numext::isNaN(v.stableNorm())); + VERIFY(!isFinite(v.blueNorm())); VERIFY(numext::isNaN(v.blueNorm())); + VERIFY(!isFinite(v.hypotNorm())); VERIFY(numext::isNaN(v.hypotNorm())); } // +inf { v = vrand; v(i,j) = std::numeric_limits<RealScalar>::infinity(); - VERIFY(!isFinite(v.squaredNorm())); VERIFY(isInf(v.squaredNorm())); - VERIFY(!isFinite(v.norm())); VERIFY(isInf(v.norm())); - VERIFY(!isFinite(v.stableNorm())); VERIFY(isInf(v.stableNorm())); - VERIFY(!isFinite(v.blueNorm())); VERIFY(isInf(v.blueNorm())); - VERIFY(!isFinite(v.hypotNorm())); VERIFY(isInf(v.hypotNorm())); + VERIFY(!isFinite(v.squaredNorm())); VERIFY(isPlusInf(v.squaredNorm())); + VERIFY(!isFinite(v.norm())); VERIFY(isPlusInf(v.norm())); + VERIFY(!isFinite(v.stableNorm())); VERIFY(isPlusInf(v.stableNorm())); + VERIFY(!isFinite(v.blueNorm())); VERIFY(isPlusInf(v.blueNorm())); + VERIFY(!isFinite(v.hypotNorm())); VERIFY(isPlusInf(v.hypotNorm())); } // -inf { v = vrand; v(i,j) = -std::numeric_limits<RealScalar>::infinity(); - VERIFY(!isFinite(v.squaredNorm())); VERIFY(isInf(v.squaredNorm())); - VERIFY(!isFinite(v.norm())); VERIFY(isInf(v.norm())); - VERIFY(!isFinite(v.stableNorm())); VERIFY(isInf(v.stableNorm())); - VERIFY(!isFinite(v.blueNorm())); VERIFY(isInf(v.blueNorm())); - VERIFY(!isFinite(v.hypotNorm())); VERIFY(isInf(v.hypotNorm())); + VERIFY(!isFinite(v.squaredNorm())); VERIFY(isPlusInf(v.squaredNorm())); + VERIFY(!isFinite(v.norm())); VERIFY(isPlusInf(v.norm())); + VERIFY(!isFinite(v.stableNorm())); VERIFY(isPlusInf(v.stableNorm())); + VERIFY(!isFinite(v.blueNorm())); VERIFY(isPlusInf(v.blueNorm())); + VERIFY(!isFinite(v.hypotNorm())); VERIFY(isPlusInf(v.hypotNorm())); } // mix @@ -147,11 +147,11 @@ template<typename MatrixType> void stable_norm(const MatrixType& m) v = vrand; v(i,j) = -std::numeric_limits<RealScalar>::infinity(); v(i2,j2) = std::numeric_limits<RealScalar>::quiet_NaN(); - VERIFY(!isFinite(v.squaredNorm())); VERIFY(isNaN(v.squaredNorm())); - VERIFY(!isFinite(v.norm())); VERIFY(isNaN(v.norm())); - VERIFY(!isFinite(v.stableNorm())); VERIFY(isNaN(v.stableNorm())); - VERIFY(!isFinite(v.blueNorm())); VERIFY(isNaN(v.blueNorm())); - VERIFY(!isFinite(v.hypotNorm())); VERIFY(isNaN(v.hypotNorm())); + VERIFY(!isFinite(v.squaredNorm())); VERIFY(numext::isNaN(v.squaredNorm())); + VERIFY(!isFinite(v.norm())); VERIFY(numext::isNaN(v.norm())); + VERIFY(!isFinite(v.stableNorm())); VERIFY(numext::isNaN(v.stableNorm())); + VERIFY(!isFinite(v.blueNorm())); VERIFY(numext::isNaN(v.blueNorm())); + VERIFY(!isFinite(v.hypotNorm())); VERIFY(numext::isNaN(v.hypotNorm())); } } |