From fdc1cbdce303a03284bc7c2cf71189a6ec12ee7c Mon Sep 17 00:00:00 2001 From: Rasmus Munk Larsen Date: Thu, 4 Jun 2020 22:15:56 +0000 Subject: [PATCH] Avoid implicit float equality comparison in generic predux_any, but use numext::not_equal_strict to avoid breaking builds that compile with -Werror=float-equal. --- Eigen/src/Core/GenericPacketMath.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Eigen/src/Core/GenericPacketMath.h b/Eigen/src/Core/GenericPacketMath.h index d25b45ab0..41e1b0923 100644 --- a/Eigen/src/Core/GenericPacketMath.h +++ b/Eigen/src/Core/GenericPacketMath.h @@ -524,7 +524,7 @@ template EIGEN_DEVICE_FUNC inline bool predux_any(const Packet& // - bits full of ones (NaN for floats), // - or first bit equals to 1 (1 for ints, smallest denormal for floats). // For all these cases, taking the sum is just fine, and this boils down to a no-op for scalars. - return bool(predux(a)); + return bool(numext::not_equal_strict(a, pzero(a))); } /** \internal \returns the reversed elements of \a a*/