diff options
author | 2015-06-25 14:04:05 +0200 | |
---|---|---|
committer | 2015-06-25 14:04:05 +0200 | |
commit | 6b4d255cab6b5a5eb4058f583d08a3a01a491027 (patch) | |
tree | e6a408c3419eba4592e123cbf9434238b9bf0b1f /test | |
parent | 973b0a90db5e3f506ff7c745cd6d1a6b12cbe00d (diff) |
Avoid division by a zero complex
Diffstat (limited to 'test')
-rw-r--r-- | test/array.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/test/array.cpp b/test/array.cpp index 86402ce6c..158bf3d13 100644 --- a/test/array.cpp +++ b/test/array.cpp @@ -251,7 +251,7 @@ template<typename ArrayType> void array_real(const ArrayType& m) VERIFY((round(m1) <= ceil(m1) && round(m1) >= floor(m1)).all()); VERIFY(Eigen::isnan((m1*0.0)/0.0).all()); VERIFY(Eigen::isinf(m4/0.0).all()); - VERIFY((isfinite(m1) && !Eigen::isfinite(m1*0.0/0.0) && !Eigen::isfinite(m4/0.0)).all()); + VERIFY((Eigen::isfinite(m1) && (!Eigen::isfinite(m1*0.0/0.0)) && (!Eigen::isfinite(m4/0.0))).all()); VERIFY_IS_APPROX(inverse(inverse(m1)),m1); VERIFY((abs(m1) == m1 || abs(m1) == -m1).all()); VERIFY_IS_APPROX(m3, sqrt(abs2(m1))); @@ -358,7 +358,7 @@ template<typename ArrayType> void array_complex(const ArrayType& m) VERIFY(Eigen::isnan(m1*zero/zero).all()); #if EIGEN_COMP_CLANG // clang's complex division is notoriously broken - if(numext::isinf(m4(0,0)/Scalar(0))) { + if(numext::isinf(m4(0,0)/RealScalar(0))) { #endif VERIFY(Eigen::isinf(m4/zero).all()); #if EIGEN_COMP_CLANG @@ -368,7 +368,7 @@ template<typename ArrayType> void array_complex(const ArrayType& m) VERIFY(isinf(m4.real()/zero.real()).all()); } #endif - VERIFY((isfinite(m1) && !Eigen::isfinite(m1*zero/zero) && !Eigen::isfinite(m1/zero)).all()); + VERIFY((Eigen::isfinite(m1) && (!Eigen::isfinite(m1*zero/zero)) && (!Eigen::isfinite(m1/zero))).all()); VERIFY_IS_APPROX(inverse(inverse(m1)),m1); VERIFY_IS_APPROX(conj(m1.conjugate()), m1); |