[libc-commits] [libc] [libc][math] Fix `tanpif` and `tanpif16` error handling (PR #235296)

via libc-commits libc-commits at lists.llvm.org
Sat Oct 24 09:15:12 PDT 2026


================
@@ -53,13 +53,24 @@ LIBC_INLINE float16 tanpif16(float16 x) {
   if (LIBC_UNLIKELY(x_abs == 0U))
     return x;
 
+  // tanpi(x) underflows for 0 < |x| <= 0x1.45p-16.
+  if (LIBC_UNLIKELY(x_abs <= 0x0145U)) {
+    fputil::set_errno_if_required(ERANGE);
+    fputil::raise_except_if_required(FE_UNDERFLOW | FE_INEXACT);
----------------
lntue wrote:

use `raise_underflow_except_if_required<float>`

https://github.com/llvm/llvm-project/pull/235296


More information about the libc-commits mailing list