[libc] [llvm] [APFloat] Add exp function for APFloat::IEEESsingle using expf implementation from LLVM libc. (PR #143959)
Nikita Popov via llvm-commits
llvm-commits at lists.llvm.org
Wed Jul 30 01:26:38 PDT 2025
================
@@ -109,6 +109,18 @@ static constexpr float expf(float x) {
return static_cast<float>(exp_hi * exp_mid * exp_lo);
}
+// Directional rounding version of expf.
+LIBC_INLINE static float expf(float x, int rounding_mode) {
+ int current_rounding_mode = fputil::get_round();
----------------
nikic wrote:
I'm kind of surprised that setting the rounding mode for a foo() implementation results in a foo() result with the correct rounding mode. Are the transcendental functions in libc specifically implemented in a way that satisfies that property?
Can you point me to where libc is testing these functions in different rounding modes?
https://github.com/llvm/llvm-project/pull/143959
More information about the llvm-commits
mailing list