Avoid division by a zero complex
diff --git a/test/array.cpp b/test/array.cpp
index 86402ce..158bf3d 100644
--- a/test/array.cpp
+++ b/test/array.cpp
@@ -251,7 +251,7 @@
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 @@
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 @@
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);