Fix bug in checking subnormals.
diff --git a/test/array_cwise.cpp b/test/array_cwise.cpp
index 91db3f9..543ef2e 100644
--- a/test/array_cwise.cpp
+++ b/test/array_cwise.cpp
@@ -97,11 +97,10 @@
Scalar e = static_cast<Scalar>(ref(lhs(i, j), rhs(i, j)));
Scalar a = actual(i, j);
#if EIGEN_ARCH_ARM
- // Work around NEON flush-to-zero mode
- // if ref returns a subnormal value and Eigen returns 0, then skip the test
- if (a == Scalar(0) &&
- (e > -(std::numeric_limits<Scalar>::min)() && e < (std::numeric_limits<Scalar>::min)() &&
- e >= -std::numeric_limits<Scalar>::denorm_min() && e <= std::numeric_limits<Scalar>::denorm_min())) {
+ // Work around NEON flush-to-zero mode.
+ // If ref returns a subnormal value and Eigen returns 0, then skip the test.
+ if (a == Scalar(0) && (e > -(std::numeric_limits<Scalar>::min)() && e < (std::numeric_limits<Scalar>::min)()) &&
+ (e <= -std::numeric_limits<Scalar>::denorm_min() || e >= std::numeric_limits<Scalar>::denorm_min())) {
continue;
}
#endif