[libc-commits] [libc] [libc][math][c23] Add {ldexp, scalbn, scalbln}f16 C23 math functions (PR #94797)
via libc-commits
libc-commits at lists.llvm.org
Mon Jun 10 06:11:27 PDT 2024
================
@@ -186,8 +186,10 @@ LIBC_INLINE constexpr T ldexp(T x, int exp) {
}
// For all other values, NormalFloat to T conversion handles it the right way.
- DyadicFloat<FPBits<T>::STORAGE_LEN> normal(bits.get_val());
- normal.exponent += exp;
+ DyadicFloat<cpp::max(FPBits<T>::STORAGE_LEN, 32)> normal(bits.get_val());
+ // Make sure that exp fits into an int when not taking the fast paths above.
+ static_assert(EXP_LIMIT <= INT_MAX && -EXP_LIMIT >= INT_MIN);
----------------
lntue wrote:
Move the `static_assert` to right after `EXP_LIMIT`'s definition.
https://github.com/llvm/llvm-project/pull/94797
More information about the libc-commits
mailing list