RFR: JDK-8302027: Port fdlibm trig functions (sin, cos, tan) to Java
Joe Darcy
darcy at openjdk.org
Wed Mar 1 06:03:53 UTC 2023
On Wed, 1 Mar 2023 05:28:34 GMT, Joe Darcy <darcy at openjdk.org> wrote:
> Last and certainly not least in the port of FDLIBM to Java, the transcendental methods for sin, cos, and tan.
>
> Some more tests are to be written in the StrictMath directory to verify that the StrictMath algorihtm for sin/cos/tan is being used rather than a different one. However, I wanted to get the rest of the change out for review first.
>
> The sin/cos/tan methods are grouped together since they share the same argument reduction logic. Argument reduction is the process of mapping an argument of a function to an argument in a restricted range (and possibly returning some function of the reduced argument). For sin, cos, and tan, since they are fundamentally periodic with respect to a multiple of pi, argument reduction is done to find the remainder of the original argument with respect to pi/2.
The "exhausting" test comparing the results on every float argument passes for:
* the transliteration port compared to the existing C code (i.e. exhausting test run with a JDK 20 build)
* the java.lang.Fdlibm.java port compared to the transliteration port
-------------
PR: https://git.openjdk.org/jdk/pull/12800
More information about the core-libs-dev
mailing list