From 9315389795d8da2401aec5adf064bf7d7a06d100 Mon Sep 17 00:00:00 2001 From: Rasmus Munk Larsen Date: Wed, 4 Sep 2024 09:37:59 -0700 Subject: [PATCH] Fix bug in bug fix for atanh. --- Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h b/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h index 57bdbe3ae..0e841582a 100644 --- a/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h +++ b/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h @@ -1222,7 +1222,7 @@ EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet patanh_float(const Pa const Packet x_gt_half = pcmp_le(half, pabs(x)); const Packet x_eq_one = pcmp_eq(one, pabs(x)); const Packet x_gt_one = pcmp_lt(one, pabs(x)); - const Packet sign_mask = pset1(-1.0f); + const Packet sign_mask = pset1(-0.0f); const Packet x_sign = pand(sign_mask, x); const Packet inf = pset1(std::numeric_limits::infinity()); return por(x_gt_one, pselect(x_eq_one, por(x_sign, inf), pselect(x_gt_half, r, p))); @@ -1269,7 +1269,7 @@ EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet patanh_double(const P const Packet x_gt_half = pcmp_le(half, pabs(x)); const Packet x_eq_one = pcmp_eq(one, pabs(x)); const Packet x_gt_one = pcmp_lt(one, pabs(x)); - const Packet sign_mask = pset1(-1.0); + const Packet sign_mask = pset1(-0.0); const Packet x_sign = pand(sign_mask, x); const Packet inf = pset1(std::numeric_limits::infinity()); return por(x_gt_one, pselect(x_eq_one, por(x_sign, inf), pselect(x_gt_half, y_large, y_small)));