diff options
author | Gael Guennebaud <g.gael@free.fr> | 2014-09-16 16:05:06 -0700 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2014-09-16 16:05:06 -0700 |
commit | 341ae8665d9160e4ebe415eab13d2dfb8345bcf8 (patch) | |
tree | f41d0ab5cc5a777dd811f7ad0ccdb6f32a435d45 /test/stable_norm.cpp | |
parent | fc23e937076d01e565fac5b771f22099dee5ad6c (diff) |
avoid division by 0
Diffstat (limited to 'test/stable_norm.cpp')
-rw-r--r-- | test/stable_norm.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
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<typename MatrixType> void stable_norm(const MatrixType& m) // NaN { v = vrand; - v(i,j) = RealScalar(0)/RealScalar(0); + 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())); @@ -141,7 +141,7 @@ template<typename MatrixType> void stable_norm(const MatrixType& m) // +inf { v = vrand; - v(i,j) = RealScalar(1)/RealScalar(0); + 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())); @@ -152,7 +152,7 @@ template<typename MatrixType> void stable_norm(const MatrixType& m) // -inf { v = vrand; - v(i,j) = RealScalar(-1)/RealScalar(0); + 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())); @@ -165,8 +165,8 @@ template<typename MatrixType> void stable_norm(const MatrixType& m) Index i2 = internal::random<Index>(0,rows-1); Index j2 = internal::random<Index>(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<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())); |