Everywhere: Use Infinity<float> instead of __builtin_huge_valf()

No behavior change.
This commit is contained in:
Nico Weber authored and Sönke Holz committed 2026-06-26 13:15:59 +02:00
1 parent d144f1777c
commit 71199c1449
2 files changed
+10 -8

No files matched your search

+8 -7
View File
@@ -7,6 +7,7 @@
#include <LibTest/TestCase.h>
#include <AK/FloatingPointStringConversions.h>
#include <AK/Math/Constants.h>
static double parse_complete_double(StringView view)
{
@@ -246,13 +247,13 @@ TEST_CASE(simple_cases)
EXPECT_TO_PARSE_TO_VALUE_EQUAL_TO(0., "+.0e10");
EXPECT_TO_PARSE_TO_VALUE_EQUAL_TO(-0., "-.0e10");
#define EXPECT_TO_PARSE_TO_INFINITY(str) \
EXPECT_EQ(__builtin_huge_val(), parse_complete_double(str##sv)); \
EXPECT_EQ(__builtin_huge_val(), parse_complete_double("+" str##sv)); \
EXPECT_EQ(-__builtin_huge_val(), parse_complete_double("-" str##sv)); \
EXPECT_EQ(static_cast<float>(__builtin_huge_valf()), parse_complete_float(str##sv)); \
EXPECT_EQ(static_cast<float>(__builtin_huge_valf()), parse_complete_float("+" str##sv)); \
EXPECT_EQ(static_cast<float>(-__builtin_huge_valf()), parse_complete_float("-" str##sv))
#define EXPECT_TO_PARSE_TO_INFINITY(str) \
EXPECT_EQ(__builtin_huge_val(), parse_complete_double(str##sv)); \
EXPECT_EQ(__builtin_huge_val(), parse_complete_double("+" str##sv)); \
EXPECT_EQ(-__builtin_huge_val(), parse_complete_double("-" str##sv)); \
EXPECT_EQ(AK::Infinity<float>, parse_complete_float(str##sv)); \
EXPECT_EQ(AK::Infinity<float>, parse_complete_float("+" str##sv)); \
EXPECT_EQ(-AK::Infinity<float>, parse_complete_float("-" str##sv))
EXPECT_TO_PARSE_TO_INFINITY("123.456e789");
EXPECT_TO_PARSE_TO_INFINITY("123456.456789e789");
@@ -8,6 +8,7 @@
#include <AK/BitCast.h>
#include <AK/BuiltinWrappers.h>
#include <AK/Math/Constants.h>
#include <AK/Result.h>
#include <AK/SIMD.h>
#include <AK/SIMDExtras.h>
@@ -1068,7 +1069,7 @@ struct Demote {
return nanf(""); // FIXME: Ensure canonical NaN remains canonical
if (isinf(lhs))
return copysignf(__builtin_huge_valf(), lhs);
return copysignf(AK::Infinity<float>, lhs);
return static_cast<float>(lhs);
}