[libc-commits] [PATCH] D123154: [libc] Implement sinf function that is correctly rounded to all rounding modes.

Tue Ly via Phabricator via libc-commits libc-commits at lists.llvm.org
Wed Apr 6 07:10:01 PDT 2022


lntue updated this revision to Diff 420836.
lntue added a comment.

Add the exceptional input: x = -0x1.47d0fep+34f.

As a note of why x = 0x1.47d0fep+34f with FE_DOWNWARD passed but
x = -0x1.47d0fep34f with FE_UPWARD failed, the main difference is that
ysq = y*y differs by 1 ULP, breaking the symmetry of sin(-x) = -sin(x)
in the evaluation chain.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D123154/new/

https://reviews.llvm.org/D123154

Files:
  libc/src/math/generic/CMakeLists.txt
  libc/src/math/generic/common_constants.cpp
  libc/src/math/generic/common_constants.h
  libc/src/math/generic/sinf.cpp
  libc/test/src/math/exhaustive/CMakeLists.txt
  libc/test/src/math/exhaustive/sinf_test.cpp
  libc/test/src/math/sinf_test.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D123154.420836.patch
Type: text/x-patch
Size: 25259 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libc-commits/attachments/20220406/5d53c340/attachment-0001.bin>


More information about the libc-commits mailing list