aboutsummaryrefslogtreecommitdiffhomepage
path: root/test
diff options
context:
space:
mode:
authorGravatar Rasmus Munk Larsen <rmlarsen@google.com>2021-02-26 09:21:24 -0800
committerGravatar Rasmus Munk Larsen <rmlarsen@google.com>2021-02-26 09:21:24 -0800
commitfe19714f8094a2b6d6dab0cdd3c32874d0ad66b9 (patch)
treecbcbc577a8f7a7e2710e0cece87ea6a35d7c004d /test
parente19829c3b0802c01c942fe9d095688f8ce2dcc7b (diff)
parente67672024d82ad4fb173d647842e0a8ad2448fa1 (diff)
Merge branch 'rmlarsen1/eigen-nan_prop'
Diffstat (limited to 'test')
-rw-r--r--test/array_cwise.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/test/array_cwise.cpp b/test/array_cwise.cpp
index 7f7e44f89..92abf6968 100644
--- a/test/array_cwise.cpp
+++ b/test/array_cwise.cpp
@@ -610,6 +610,20 @@ template<typename ArrayType> void min_max(const ArrayType& m)
VERIFY_IS_APPROX(ArrayType::Constant(rows,cols, maxM1), (m1.max)( maxM1));
VERIFY_IS_APPROX(m1, (m1.max)( minM1));
+
+ // min/max with various NaN propagation options.
+ if (m1.size() > 1 && !NumTraits<Scalar>::IsInteger) {
+ m1(0,0) = std::numeric_limits<Scalar>::quiet_NaN();
+ maxM1 = m1.template maxCoeff<PropagateNaN>();
+ minM1 = m1.template minCoeff<PropagateNaN>();
+ VERIFY((numext::isnan)(maxM1));
+ VERIFY((numext::isnan)(minM1));
+
+ maxM1 = m1.template maxCoeff<PropagateNumbers>();
+ minM1 = m1.template minCoeff<PropagateNumbers>();
+ VERIFY(!(numext::isnan)(maxM1));
+ VERIFY(!(numext::isnan)(minM1));
+ }
}
EIGEN_DECLARE_TEST(array_cwise)