From 341ae8665d9160e4ebe415eab13d2dfb8345bcf8 Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Tue, 16 Sep 2014 16:05:06 -0700 Subject: avoid division by 0 --- test/stable_norm.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'test/stable_norm.cpp') diff --git a/test/stable_norm.cpp b/test/stable_norm.cpp index f76919af4..6cd65c64a 100644 --- a/test/stable_norm.cpp +++ b/test/stable_norm.cpp @@ -130,7 +130,7 @@ template void stable_norm(const MatrixType& m) // NaN { v = vrand; - v(i,j) = RealScalar(0)/RealScalar(0); + v(i,j) = std::numeric_limits::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())); @@ -141,7 +141,7 @@ template void stable_norm(const MatrixType& m) // +inf { v = vrand; - v(i,j) = RealScalar(1)/RealScalar(0); + v(i,j) = std::numeric_limits::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())); @@ -152,7 +152,7 @@ template void stable_norm(const MatrixType& m) // -inf { v = vrand; - v(i,j) = RealScalar(-1)/RealScalar(0); + v(i,j) = -std::numeric_limits::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())); @@ -165,8 +165,8 @@ template void stable_norm(const MatrixType& m) Index i2 = internal::random(0,rows-1); Index j2 = internal::random(0,cols-1); v = vrand; - v(i,j) = RealScalar(-1)/RealScalar(0); - v(i2,j2) = RealScalar(0)/RealScalar(0); + v(i,j) = -std::numeric_limits::infinity(); + v(i2,j2) = std::numeric_limits::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())); -- cgit v1.2.3