[libc-commits] [libc] [libc] Modify `floorf128` to use emulated Float128 type (PR #216552)
via libc-commits
libc-commits at lists.llvm.org
Mon Aug 17 23:56:31 PDT 2026
https://github.com/Sukumarsawant updated https://github.com/llvm/llvm-project/pull/216552
>From c59f4a98c41197ec3ac08898a454d17072ee1612 Mon Sep 17 00:00:00 2001
From: Sukumarsawant <sawantsukumar at gmail.com>
Date: Sun, 16 Aug 2026 14:27:25 +0530
Subject: [PATCH 1/3] initial commit
---
libc/config/baremetal/aarch64/entrypoints.txt | 2 +-
libc/config/baremetal/arm/entrypoints.txt | 2 +-
libc/config/baremetal/riscv/entrypoints.txt | 2 +-
libc/config/darwin/aarch64/entrypoints.txt | 2 +-
libc/config/darwin/x86_64/entrypoints.txt | 1 +
libc/config/freebsd/x86_64/entrypoints.txt | 2 +-
libc/config/gpu/amdgpu/entrypoints.txt | 1 +
libc/config/gpu/nvptx/entrypoints.txt | 1 +
libc/config/linux/aarch64/entrypoints.txt | 2 +-
libc/config/linux/arm/entrypoints.txt | 1 +
libc/config/linux/riscv/entrypoints.txt | 2 +-
libc/config/linux/x86_64/entrypoints.txt | 2 +-
libc/config/windows/entrypoints.txt | 1 +
libc/shared/math/floorf128.h | 6 ------
libc/src/__support/math/CMakeLists.txt | 2 +-
libc/src/__support/math/floorf128.h | 11 ++++-------
libc/src/math/floorf128.h | 5 +++++
libc/src/math/generic/CMakeLists.txt | 1 +
libc/src/math/generic/floorf128.cpp | 5 ++++-
libc/test/shared/shared_math_test.cpp | 2 +-
20 files changed, 29 insertions(+), 24 deletions(-)
diff --git a/libc/config/baremetal/aarch64/entrypoints.txt b/libc/config/baremetal/aarch64/entrypoints.txt
index 81958d224f70d..09b81be24c8d8 100644
--- a/libc/config/baremetal/aarch64/entrypoints.txt
+++ b/libc/config/baremetal/aarch64/entrypoints.txt
@@ -412,6 +412,7 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.math.ffmal
libc.src.math.floor
libc.src.math.floorf
+ libc.src.math.floorf128
libc.src.math.floorl
libc.src.math.fma
libc.src.math.fmabf16
@@ -745,7 +746,6 @@ if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
libc.src.math.fdimf128
libc.src.math.fdivf128
libc.src.math.ffmaf128
- libc.src.math.floorf128
libc.src.math.fmaxf128
libc.src.math.fmaximum_mag_numf128
libc.src.math.fmaximum_magf128
diff --git a/libc/config/baremetal/arm/entrypoints.txt b/libc/config/baremetal/arm/entrypoints.txt
index ee3ec63132cc2..d6cb433ba01a5 100644
--- a/libc/config/baremetal/arm/entrypoints.txt
+++ b/libc/config/baremetal/arm/entrypoints.txt
@@ -424,6 +424,7 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.math.ffmal
libc.src.math.floor
libc.src.math.floorf
+ libc.src.math.floorf128
libc.src.math.floorl
libc.src.math.fma
libc.src.math.fmabf16
@@ -756,7 +757,6 @@ if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
libc.src.math.fdimf128
libc.src.math.fdivf128
libc.src.math.ffmaf128
- libc.src.math.floorf128
libc.src.math.fmaxf128
libc.src.math.fmaximum_mag_numf128
libc.src.math.fmaximum_magf128
diff --git a/libc/config/baremetal/riscv/entrypoints.txt b/libc/config/baremetal/riscv/entrypoints.txt
index c9f7c042bf4a8..b7a7b9aa7142b 100644
--- a/libc/config/baremetal/riscv/entrypoints.txt
+++ b/libc/config/baremetal/riscv/entrypoints.txt
@@ -420,6 +420,7 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.math.ffmal
libc.src.math.floor
libc.src.math.floorf
+ libc.src.math.floorf128
libc.src.math.floorl
libc.src.math.fma
libc.src.math.fmabf16
@@ -753,7 +754,6 @@ if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
libc.src.math.fdimf128
libc.src.math.fdivf128
libc.src.math.ffmaf128
- libc.src.math.floorf128
libc.src.math.fmaxf128
libc.src.math.fmaximum_mag_numf128
libc.src.math.fmaximum_magf128
diff --git a/libc/config/darwin/aarch64/entrypoints.txt b/libc/config/darwin/aarch64/entrypoints.txt
index 0ca00419a916c..9642dacf6426d 100644
--- a/libc/config/darwin/aarch64/entrypoints.txt
+++ b/libc/config/darwin/aarch64/entrypoints.txt
@@ -231,6 +231,7 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.math.ffmal
libc.src.math.floor
libc.src.math.floorf
+ libc.src.math.floorf128
libc.src.math.floorl
libc.src.math.fma
libc.src.math.fmabf16
@@ -565,7 +566,6 @@ if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
libc.src.math.fdimf128
libc.src.math.fdivf128
libc.src.math.ffmaf128
- libc.src.math.floorf128
libc.src.math.fmaxf128
libc.src.math.fmaximum_mag_numf128
libc.src.math.fmaximum_magf128
diff --git a/libc/config/darwin/x86_64/entrypoints.txt b/libc/config/darwin/x86_64/entrypoints.txt
index 136d5a458d484..9ece581ce10eb 100644
--- a/libc/config/darwin/x86_64/entrypoints.txt
+++ b/libc/config/darwin/x86_64/entrypoints.txt
@@ -147,6 +147,7 @@ set(TARGET_LIBM_ENTRYPOINTS
#libc.src.math.ffmal
#libc.src.math.floor
#libc.src.math.floorf
+ #libc.src.math.floorf128
#libc.src.math.floorl
#libc.src.math.fma
#libc.src.math.fmabf16
diff --git a/libc/config/freebsd/x86_64/entrypoints.txt b/libc/config/freebsd/x86_64/entrypoints.txt
index 2223504718444..bb468f0467d23 100644
--- a/libc/config/freebsd/x86_64/entrypoints.txt
+++ b/libc/config/freebsd/x86_64/entrypoints.txt
@@ -166,6 +166,7 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.math.ffmal
libc.src.math.floor
libc.src.math.floorf
+ libc.src.math.floorf128
libc.src.math.floorl
libc.src.math.fma
libc.src.math.fmaf
@@ -504,7 +505,6 @@ if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
libc.src.math.fdimf128
libc.src.math.fdivf128
libc.src.math.ffmaf128
- libc.src.math.floorf128
libc.src.math.fmaxf128
libc.src.math.fmaximum_mag_numf128
libc.src.math.fmaximum_magf128
diff --git a/libc/config/gpu/amdgpu/entrypoints.txt b/libc/config/gpu/amdgpu/entrypoints.txt
index 12783aa4e5316..e44147e9699f4 100644
--- a/libc/config/gpu/amdgpu/entrypoints.txt
+++ b/libc/config/gpu/amdgpu/entrypoints.txt
@@ -359,6 +359,7 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.math.ffmal
libc.src.math.floor
libc.src.math.floorf
+ libc.src.math.floorf128
libc.src.math.floorl
libc.src.math.fma
libc.src.math.fmabf16
diff --git a/libc/config/gpu/nvptx/entrypoints.txt b/libc/config/gpu/nvptx/entrypoints.txt
index 5820448e06663..efd4fb8fc5682 100644
--- a/libc/config/gpu/nvptx/entrypoints.txt
+++ b/libc/config/gpu/nvptx/entrypoints.txt
@@ -355,6 +355,7 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.math.ffmal
libc.src.math.floor
libc.src.math.floorf
+ libc.src.math.floorf128
libc.src.math.floorl
libc.src.math.fma
libc.src.math.fmabf16
diff --git a/libc/config/linux/aarch64/entrypoints.txt b/libc/config/linux/aarch64/entrypoints.txt
index 071a7830b43d3..e14a465b4f933 100644
--- a/libc/config/linux/aarch64/entrypoints.txt
+++ b/libc/config/linux/aarch64/entrypoints.txt
@@ -565,6 +565,7 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.math.fdiml
libc.src.math.floor
libc.src.math.floorf
+ libc.src.math.floorf128
libc.src.math.floorl
libc.src.math.fma
libc.src.math.fmabf16
@@ -892,7 +893,6 @@ if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
libc.src.math.fdimf128
libc.src.math.fdivf128
libc.src.math.ffmaf128
- libc.src.math.floorf128
libc.src.math.fmaxf128
libc.src.math.fmaximum_mag_numf128
libc.src.math.fmaximum_magf128
diff --git a/libc/config/linux/arm/entrypoints.txt b/libc/config/linux/arm/entrypoints.txt
index 1adbb04bb4cbe..83c3b65498f0c 100644
--- a/libc/config/linux/arm/entrypoints.txt
+++ b/libc/config/linux/arm/entrypoints.txt
@@ -399,6 +399,7 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.math.ffmal
libc.src.math.floor
libc.src.math.floorf
+ libc.src.math.floorf128
libc.src.math.floorl
libc.src.math.fma
libc.src.math.fmabf16
diff --git a/libc/config/linux/riscv/entrypoints.txt b/libc/config/linux/riscv/entrypoints.txt
index 66dd9dd790737..315932e16587e 100644
--- a/libc/config/linux/riscv/entrypoints.txt
+++ b/libc/config/linux/riscv/entrypoints.txt
@@ -638,6 +638,7 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.math.ffmal
libc.src.math.floor
libc.src.math.floorf
+ libc.src.math.floorf128
libc.src.math.floorl
libc.src.math.fma
libc.src.math.fmabf16
@@ -982,7 +983,6 @@ if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
libc.src.math.fdimf128
libc.src.math.fdivf128
libc.src.math.ffmaf128
- libc.src.math.floorf128
libc.src.math.fmaxf128
libc.src.math.fmaximum_mag_numf128
libc.src.math.fmaximum_magf128
diff --git a/libc/config/linux/x86_64/entrypoints.txt b/libc/config/linux/x86_64/entrypoints.txt
index 6045886c2f11c..879891739a895 100644
--- a/libc/config/linux/x86_64/entrypoints.txt
+++ b/libc/config/linux/x86_64/entrypoints.txt
@@ -643,6 +643,7 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.math.ffmal
libc.src.math.floor
libc.src.math.floorf
+ libc.src.math.floorf128
libc.src.math.floorl
libc.src.math.fma
libc.src.math.fmabf16
@@ -987,7 +988,6 @@ if(LIBC_TYPES_HAS_NATIVE_FLOAT128)
libc.src.math.fdimf128
libc.src.math.fdivf128
libc.src.math.ffmaf128
- libc.src.math.floorf128
libc.src.math.fmaxf128
libc.src.math.fmaximum_mag_numf128
libc.src.math.fmaximum_magf128
diff --git a/libc/config/windows/entrypoints.txt b/libc/config/windows/entrypoints.txt
index 142b83e71efe6..bdc209bd330b5 100644
--- a/libc/config/windows/entrypoints.txt
+++ b/libc/config/windows/entrypoints.txt
@@ -198,6 +198,7 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.math.ffmal
libc.src.math.floor
libc.src.math.floorf
+ libc.src.math.floorf128
libc.src.math.floorl
libc.src.math.fma
libc.src.math.fmabf16
diff --git a/libc/shared/math/floorf128.h b/libc/shared/math/floorf128.h
index 522e5d40f6137..a198c7e610220 100644
--- a/libc/shared/math/floorf128.h
+++ b/libc/shared/math/floorf128.h
@@ -9,10 +9,6 @@
#ifndef LLVM_LIBC_SHARED_MATH_FLOORF128_H
#define LLVM_LIBC_SHARED_MATH_FLOORF128_H
-#include "include/llvm-libc-types/float128.h"
-
-#ifdef LIBC_TYPES_HAS_NATIVE_FLOAT128
-
#include "shared/libc_common.h"
#include "src/__support/math/floorf128.h"
@@ -24,6 +20,4 @@ using math::floorf128;
} // namespace shared
} // namespace LIBC_NAMESPACE_DECL
-#endif // LIBC_TYPES_HAS_NATIVE_FLOAT128
-
#endif // LLVM_LIBC_SHARED_MATH_FLOORF128_H
diff --git a/libc/src/__support/math/CMakeLists.txt b/libc/src/__support/math/CMakeLists.txt
index db514db61a9df..613e0adf385c7 100644
--- a/libc/src/__support/math/CMakeLists.txt
+++ b/libc/src/__support/math/CMakeLists.txt
@@ -3667,7 +3667,7 @@ add_header_library(
HDRS
floorf128.h
DEPENDS
- libc.include.llvm-libc-types.float128
+ libc.src.__support.FPUtil.float128
libc.src.__support.FPUtil.nearest_integer_operations
libc.src.__support.macros.config
)
diff --git a/libc/src/__support/math/floorf128.h b/libc/src/__support/math/floorf128.h
index 175400a2f9956..3eb5ac0bc6330 100644
--- a/libc/src/__support/math/floorf128.h
+++ b/libc/src/__support/math/floorf128.h
@@ -9,23 +9,20 @@
#ifndef LLVM_LIBC_SRC___SUPPORT_MATH_FLOORF128_H
#define LLVM_LIBC_SRC___SUPPORT_MATH_FLOORF128_H
-#include "include/llvm-libc-types/float128.h"
-
-#ifdef LIBC_TYPES_HAS_NATIVE_FLOAT128
-
#include "src/__support/FPUtil/NearestIntegerOperations.h"
+#include "src/__support/FPUtil/float128.h"
#include "src/__support/macros/config.h"
namespace LIBC_NAMESPACE_DECL {
namespace math {
-LIBC_INLINE constexpr float128 floorf128(float128 x) {
+using LIBC_NAMESPACE::fputil::Float128;
+
+LIBC_INLINE constexpr Float128 floorf128(Float128 x) {
return fputil::floor(x);
}
} // namespace math
} // namespace LIBC_NAMESPACE_DECL
-#endif // LIBC_TYPES_HAS_NATIVE_FLOAT128
-
#endif // LLVM_LIBC_SRC___SUPPORT_MATH_FLOORF128_H
diff --git a/libc/src/math/floorf128.h b/libc/src/math/floorf128.h
index 9af48b259fb2a..7d9a560659797 100644
--- a/libc/src/math/floorf128.h
+++ b/libc/src/math/floorf128.h
@@ -9,11 +9,16 @@
#ifndef LLVM_LIBC_SRC_MATH_FLOORF128_H
#define LLVM_LIBC_SRC_MATH_FLOORF128_H
+#include "src/__support/FPUtil/float128.h"
#include "src/__support/macros/config.h"
#include "src/__support/macros/properties/types.h"
namespace LIBC_NAMESPACE_DECL {
+#ifndef LIBC_TYPES_HAS_NATIVE_FLOAT128
+using float128 = LIBC_NAMESPACE::fputil::Float128;
+#endif // LIBC_TYPES_HAS_NATIVE_FLOAT128
+
float128 floorf128(float128 x);
} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/CMakeLists.txt b/libc/src/math/generic/CMakeLists.txt
index 80c2053066f16..13c4ff8126c9f 100644
--- a/libc/src/math/generic/CMakeLists.txt
+++ b/libc/src/math/generic/CMakeLists.txt
@@ -664,6 +664,7 @@ add_entrypoint_object(
HDRS
../floorf128.h
DEPENDS
+ libc.src.__support.CPP.bit
libc.src.__support.math.floorf128
)
diff --git a/libc/src/math/generic/floorf128.cpp b/libc/src/math/generic/floorf128.cpp
index 4740ec569611c..b650868a75e2d 100644
--- a/libc/src/math/generic/floorf128.cpp
+++ b/libc/src/math/generic/floorf128.cpp
@@ -7,12 +7,15 @@
//===----------------------------------------------------------------------===//
#include "src/math/floorf128.h"
+#include "src/__support/CPP/bit.h"
#include "src/__support/math/floorf128.h"
namespace LIBC_NAMESPACE_DECL {
+using LIBC_NAMESPACE::fputil::Float128;
+
LLVM_LIBC_FUNCTION(float128, floorf128, (float128 x)) {
- return math::floorf128(x);
+ return cpp::bit_cast<float128>(math::floorf128(cpp::bit_cast<Float128>(x)));
}
} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/test/shared/shared_math_test.cpp b/libc/test/shared/shared_math_test.cpp
index 8850deda1c805..c507c51d8b48a 100644
--- a/libc/test/shared/shared_math_test.cpp
+++ b/libc/test/shared/shared_math_test.cpp
@@ -582,6 +582,7 @@ TEST(LlvmLibcSharedMathTest, AllLongDouble) {
// Emulated float128 tests
TEST(LlvmLibcSharedMathTest, AllEmuFloat128) {
EXPECT_FP_EQ(Float128(0.0), LIBC_NAMESPACE::shared::ceilf128(Float128(0.0)));
+ EXPECT_FP_EQ(Float128(0.0), LIBC_NAMESPACE::shared::floorf128(Float128(0.0)));
}
#ifdef LIBC_TYPES_HAS_NATIVE_FLOAT128
@@ -642,7 +643,6 @@ TEST(LlvmLibcSharedMathTest, AllFloat128) {
EXPECT_FP_EQ(float128(0.0), LIBC_NAMESPACE::shared::fabsf128(float128(0.0)));
EXPECT_FP_EQ(float128(0.0),
LIBC_NAMESPACE::shared::faddf128(float128(0.0), float128(0.0)));
- EXPECT_FP_EQ(float128(0.0), LIBC_NAMESPACE::shared::floorf128(float128(0.0)));
EXPECT_FP_EQ(float128(0.0),
LIBC_NAMESPACE::shared::fdimf128(float128(0.0), float128(0.0)));
EXPECT_FP_EQ(1.0f,
>From cb9ca8254dc696e410c1a3aef898df2232b419ed Mon Sep 17 00:00:00 2001
From: Sukumarsawant <sawantsukumar at gmail.com>
Date: Sun, 16 Aug 2026 14:45:33 +0530
Subject: [PATCH 2/3] tests
---
libc/test/shared/shared_math_constexpr_test.cpp | 4 ++--
libc/test/src/math/smoke/CMakeLists.txt | 1 +
libc/test/src/math/smoke/floorf128_test.cpp | 6 +++++-
3 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/libc/test/shared/shared_math_constexpr_test.cpp b/libc/test/shared/shared_math_constexpr_test.cpp
index 6f9df85f3bb1c..df5496c7af6bf 100644
--- a/libc/test/shared/shared_math_constexpr_test.cpp
+++ b/libc/test/shared/shared_math_constexpr_test.cpp
@@ -381,6 +381,8 @@ static_assert(0 == LIBC_NAMESPACE::shared::isnanl(0.0L));
//===----------------------------------------------------------------------===//
static_assert(Float128(0.0) == LIBC_NAMESPACE::shared::ceilf128(Float128(0.0)));
+static_assert(Float128(0.0) ==
+ LIBC_NAMESPACE::shared::floorf128(Float128(0.0)));
//===----------------------------------------------------------------------===//
// Native Float128 Tests
@@ -408,8 +410,6 @@ static_assert(float128(1.0) ==
LIBC_NAMESPACE::shared::fdimf128(float128(1.0), float128(0.0)));
static_assert(0.0f ==
LIBC_NAMESPACE::shared::fdivf128(float128(0.0), float128(1.0)));
-static_assert(float128(0.0) ==
- LIBC_NAMESPACE::shared::floorf128(float128(0.0)));
static_assert(float128(0.0) ==
LIBC_NAMESPACE::shared::fmaximumf128(float128(0.0),
float128(0.0)));
diff --git a/libc/test/src/math/smoke/CMakeLists.txt b/libc/test/src/math/smoke/CMakeLists.txt
index 91d76f2c7973c..ba6d8764f1292 100644
--- a/libc/test/src/math/smoke/CMakeLists.txt
+++ b/libc/test/src/math/smoke/CMakeLists.txt
@@ -750,6 +750,7 @@ add_fp_unittest(
FloorTest.h
DEPENDS
libc.src.math.floorf128
+ libc.src.__support.FPUtil.float128
libc.src.__support.FPUtil.fp_bits
)
diff --git a/libc/test/src/math/smoke/floorf128_test.cpp b/libc/test/src/math/smoke/floorf128_test.cpp
index 1858a4aad0ad5..e690e56c0cf0b 100644
--- a/libc/test/src/math/smoke/floorf128_test.cpp
+++ b/libc/test/src/math/smoke/floorf128_test.cpp
@@ -7,7 +7,11 @@
//===----------------------------------------------------------------------===//
#include "FloorTest.h"
-
+#include "src/__support/FPUtil/float128.h"
#include "src/math/floorf128.h"
+#ifndef LIBC_TYPES_HAS_NATIVE_FLOAT128
+using float128 = LIBC_NAMESPACE::fputil::Float128;
+#endif // LIBC_TYPES_HAS_NATIVE_FLOAT128
+
LIST_FLOOR_TESTS(float128, LIBC_NAMESPACE::floorf128)
>From 2536c7ad18fce758a4821f02dcc0e09b290046e6 Mon Sep 17 00:00:00 2001
From: Sukumarsawant <sawantsukumar at gmail.com>
Date: Tue, 18 Aug 2026 12:23:45 +0530
Subject: [PATCH 3/3] add mpfr tests
---
libc/test/src/math/CMakeLists.txt | 16 ++++++++++++++++
libc/test/src/math/floorf128_test.cpp | 18 ++++++++++++++++++
libc/test/src/math/smoke/floorf128_test.cpp | 1 +
3 files changed, 35 insertions(+)
create mode 100644 libc/test/src/math/floorf128_test.cpp
diff --git a/libc/test/src/math/CMakeLists.txt b/libc/test/src/math/CMakeLists.txt
index bf337783bfe23..53b4b1bc9526b 100644
--- a/libc/test/src/math/CMakeLists.txt
+++ b/libc/test/src/math/CMakeLists.txt
@@ -528,6 +528,22 @@ add_fp_unittest(
libc.src.__support.FPUtil.fp_bits
)
+add_fp_unittest(
+ floorf128_test
+ NEED_MPFR_F128
+ SUITE
+ libc-math-unittests
+ SRCS
+ floorf128_test.cpp
+ HDRS
+ FloorTest.h
+ DEPENDS
+ libc.src.math.floorf128
+ libc.src.__support.FPUtil.float128
+ libc.src.__support.CPP.algorithm
+ libc.src.__support.FPUtil.fp_bits
+)
+
add_fp_unittest(
floorf16_test
NEED_MPFR
diff --git a/libc/test/src/math/floorf128_test.cpp b/libc/test/src/math/floorf128_test.cpp
new file mode 100644
index 0000000000000..72f68f952f9f7
--- /dev/null
+++ b/libc/test/src/math/floorf128_test.cpp
@@ -0,0 +1,18 @@
+//===-- Unittests for floorf128 -------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#include "FloorTest.h"
+
+#include "src/__support/FPUtil/float128.h"
+#include "src/math/floorf128.h"
+
+#ifndef LIBC_TYPES_HAS_NATIVE_FLOAT128
+using float128 = LIBC_NAMESPACE::fputil::Float128;
+#endif // LIBC_TYPES_HAS_NATIVE_FLOAT128
+
+LIST_FLOOR_TESTS(float128, LIBC_NAMESPACE::float128)
diff --git a/libc/test/src/math/smoke/floorf128_test.cpp b/libc/test/src/math/smoke/floorf128_test.cpp
index e690e56c0cf0b..bc9e4db891c46 100644
--- a/libc/test/src/math/smoke/floorf128_test.cpp
+++ b/libc/test/src/math/smoke/floorf128_test.cpp
@@ -7,6 +7,7 @@
//===----------------------------------------------------------------------===//
#include "FloorTest.h"
+
#include "src/__support/FPUtil/float128.h"
#include "src/math/floorf128.h"
More information about the libc-commits
mailing list