From a1e1612c287dd68dc8c836e410499711ea92d822 Mon Sep 17 00:00:00 2001 From: Antonio Sanchez Date: Fri, 15 Apr 2022 21:45:53 -0700 Subject: [PATCH] Fix cwise NaN propagation for scalar input. Was missing a template parameter. Updated tests. Fixes #2474. --- test/array_for_matrix.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/test/array_for_matrix.cpp b/test/array_for_matrix.cpp index 8086b3432..06e04a2fa 100644 --- a/test/array_for_matrix.cpp +++ b/test/array_for_matrix.cpp @@ -219,11 +219,20 @@ template void cwise_min_max(const MatrixType& m) VERIFY((numext::isnan)(m1.template cwiseMin(MatrixType::Constant(rows,cols, Scalar(1)))(0,0))); VERIFY(!(numext::isnan)(m1.template cwiseMax(MatrixType::Constant(rows,cols, Scalar(1)))(0,0))); VERIFY(!(numext::isnan)(m1.template cwiseMin(MatrixType::Constant(rows,cols, Scalar(1)))(0,0))); + VERIFY((numext::isnan)(m1.template cwiseMax(Scalar(1))(0,0))); + VERIFY((numext::isnan)(m1.template cwiseMin(Scalar(1))(0,0))); + VERIFY(!(numext::isnan)(m1.template cwiseMax(Scalar(1))(0,0))); + VERIFY(!(numext::isnan)(m1.template cwiseMin(Scalar(1))(0,0))); + VERIFY((numext::isnan)(m1.array().template max(MatrixType::Constant(rows,cols, Scalar(1)).array())(0,0))); VERIFY((numext::isnan)(m1.array().template min(MatrixType::Constant(rows,cols, Scalar(1)).array())(0,0))); VERIFY(!(numext::isnan)(m1.array().template max(MatrixType::Constant(rows,cols, Scalar(1)).array())(0,0))); VERIFY(!(numext::isnan)(m1.array().template min(MatrixType::Constant(rows,cols, Scalar(1)).array())(0,0))); + VERIFY((numext::isnan)(m1.array().template max(Scalar(1))(0,0))); + VERIFY((numext::isnan)(m1.array().template min(Scalar(1))(0,0))); + VERIFY(!(numext::isnan)(m1.array().template max(Scalar(1))(0,0))); + VERIFY(!(numext::isnan)(m1.array().template min(Scalar(1))(0,0))); // Reductions. VERIFY((numext::isnan)(m1.template maxCoeff()));