aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/stable_norm.cpp
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2016-01-30 22:26:17 +0100
committerGravatar Gael Guennebaud <g.gael@free.fr>2016-01-30 22:26:17 +0100
commita4e4542b89092eb2ed2984aae6f15bbcc43d7ed6 (patch)
tree1e4877d757d18d6c2afada10493c6c0b02f87a9b /test/stable_norm.cpp
parent3ba8a3ab1a77fd2f58448187c6881d13bf51f430 (diff)
Avoid overflow in unit test.
Diffstat (limited to 'test/stable_norm.cpp')
-rw-r--r--test/stable_norm.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/test/stable_norm.cpp b/test/stable_norm.cpp
index 9f12320e0..c3eb5ff31 100644
--- a/test/stable_norm.cpp
+++ b/test/stable_norm.cpp
@@ -174,7 +174,8 @@ template<typename MatrixType> void stable_norm(const MatrixType& m)
VERIFY_IS_APPROX(vcopy.norm(), RealScalar(1));
VERIFY_IS_APPROX((vbig.stableNormalized()).norm(), RealScalar(1));
VERIFY_IS_APPROX((vsmall.stableNormalized()).norm(), RealScalar(1));
- VERIFY_IS_APPROX(vbig, vbig.stableNorm() * vbig.stableNormalized());
+ RealScalar big_scaling = ((std::numeric_limits<RealScalar>::max)() * RealScalar(1e-4));
+ VERIFY_IS_APPROX(vbig/big_scaling, (vbig.stableNorm() * vbig.stableNormalized()).eval()/big_scaling);
VERIFY_IS_APPROX(vsmall, vsmall.stableNorm() * vsmall.stableNormalized());
}
}