RFR: JDK-8302027: Port fdlibm trig functions (sin, cos, tan) to Java [v3]

Joe Darcy darcy at openjdk.org
Fri Mar 3 06:58:11 UTC 2023


On Fri, 3 Mar 2023 06:35:41 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.
>
> Joe Darcy has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Add note explaining goto translation.

I added a StrictMath test to probe at FDLIBM decision points.

Either before this change goes back or as follow-up work in a separate bug I can add some tests to probe where other particular sin/cos/tan implementations return different results than FDLIBM.

-------------

PR: https://git.openjdk.org/jdk/pull/12800


More information about the core-libs-dev mailing list