From 2f55de4e317ee93cdca839558acf8be2b5ac2b46 Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Fri, 15 Nov 2024 09:29:54 +0900 Subject: [llvm] `APFloat`: Query `hasNanOrInf` from semantics (#116158) Whether a floating point type supports NaN or infinity can be queried from its semantics. No need to hard-code a list of types. --- llvm/unittests/ADT/APFloatTest.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'llvm/unittests/ADT/APFloatTest.cpp') diff --git a/llvm/unittests/ADT/APFloatTest.cpp b/llvm/unittests/ADT/APFloatTest.cpp index 74aaf66..ab9db8e 100644 --- a/llvm/unittests/ADT/APFloatTest.cpp +++ b/llvm/unittests/ADT/APFloatTest.cpp @@ -832,7 +832,8 @@ TEST(APFloatTest, IsSmallestNormalized) { EXPECT_FALSE(APFloat::getZero(Semantics, false).isSmallestNormalized()); EXPECT_FALSE(APFloat::getZero(Semantics, true).isSmallestNormalized()); - if (APFloat::hasNanOrInf(Semantics)) { + if (APFloat::semanticsHasNanOrInf(Semantics)) { + // Types that do not support Inf will return NaN when asked for Inf. EXPECT_FALSE(APFloat::getInf(Semantics, false).isSmallestNormalized()); EXPECT_FALSE(APFloat::getInf(Semantics, true).isSmallestNormalized()); @@ -7344,7 +7345,8 @@ TEST(APFloatTest, getExactLog2) { EXPECT_EQ(INT_MIN, APFloat::getZero(Semantics, false).getExactLog2Abs()); EXPECT_EQ(INT_MIN, APFloat::getZero(Semantics, true).getExactLog2Abs()); - if (APFloat::hasNanOrInf(Semantics)) { + if (APFloat::semanticsHasNanOrInf(Semantics)) { + // Types that do not support Inf will return NaN when asked for Inf. EXPECT_EQ(INT_MIN, APFloat::getInf(Semantics).getExactLog2()); EXPECT_EQ(INT_MIN, APFloat::getInf(Semantics, true).getExactLog2()); EXPECT_EQ(INT_MIN, APFloat::getNaN(Semantics, false).getExactLog2()); -- cgit v1.1