From 59e87cc9985d90bca7141eb49f9d57e534b677de Mon Sep 17 00:00:00 2001 From: Dan Klishch Date: Thu, 3 Nov 2022 18:37:37 -0400 Subject: AK: Add static_assert to check for effective size of long double --- AK/FloatingPoint.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'AK/FloatingPoint.h') diff --git a/AK/FloatingPoint.h b/AK/FloatingPoint.h index 209fbadc29..30b156d17b 100644 --- a/AK/FloatingPoint.h +++ b/AK/FloatingPoint.h @@ -16,7 +16,10 @@ template union FloatExtractor; #if ARCH(I386) || ARCH(X86_64) || ARCH(AARCH64) -// This assumes long double is 80 bits, which is true with GCC on Intel platforms +// FIXME: There is no straightforward way, I can think of, to check +// in compile time that long double is really an 80-bit IEEE574 floating point number. +static_assert(__LDBL_MAX__ == 1.189731495357231765e4932L); + template<> union FloatExtractor { static constexpr int mantissa_bits = 64; -- cgit v1.2.3