aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/stable_norm.cpp
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2014-09-16 16:05:06 -0700
committerGravatar Gael Guennebaud <g.gael@free.fr>2014-09-16 16:05:06 -0700
commit341ae8665d9160e4ebe415eab13d2dfb8345bcf8 (patch)
treef41d0ab5cc5a777dd811f7ad0ccdb6f32a435d45 /test/stable_norm.cpp
parentfc23e937076d01e565fac5b771f22099dee5ad6c (diff)
avoid division by 0
Diffstat (limited to 'test/stable_norm.cpp')
-rw-r--r--test/stable_norm.cpp10
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()));