summaryrefslogtreecommitdiff
path: root/libc/test/src/math/asinpif16_test.cpp
AgeCommit message (Collapse)Author
2025-08-18Reland "[libc][math][c23] Implement C23 math function asinpif16" (#152690)Mohamed Emad
#146226 with fixing asinpi MPFR number function and make it work when mpfr < `4.2.0`
2025-07-26Revert "[libc][math][c23] Implement C23 math function asinpif16" (#150756)OverMighty
Reverts llvm/llvm-project#146226 The MPFR test uses `mpfr_asinpi` which requires MPFR 4.2.0 or later, but the Buildbots are running an older version of MPFR. See https://lab.llvm.org/buildbot/#/builders/104/builds/27743 for example. I said I was going to revert the PR until we have a workaround for older versions of MPFR, but then I forgot and I just disabled the entrypoints which doesn't fix the Buildbot builds.
2025-07-26[libc][math][c23] Implement C23 math function asinpif16 (#146226)Mohamed Emad
The function is implemented using the following Taylor series that's generated using [python-sympy](https://www.sympy.org/en/index.html), and it is very accurate for |x| $$\in [0, 0.5]$$ and has been verified using Geogebra. The range reduction is used for the rest range (0.5, 1]. $$ \frac{\arcsin(x)}{\pi} \approx \begin{aligned}[t] & 0.318309886183791x \\ & + 0.0530516476972984x^3 \\ & + 0.0238732414637843x^5 \\ & + 0.0142102627760621x^7 \\ & + 0.00967087327815336x^9 \\ & + 0.00712127941391293x^{11} \\ & + 0.00552355646848375x^{13} \\ & + 0.00444514782463692x^{15} \\ & + 0.00367705242846804x^{17} \\ & + 0.00310721681820837x^{19} + O(x^{21}) \end{aligned} $$ ## Geogebra graph ![28-06-2025-1913-eDP-1](https://github.com/user-attachments/assets/f70818e1-1b34-406e-962a-a30fdc909f18) Closes #132210