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

Joe Darcy darcy at openjdk.org
Wed Mar 1 18:04:54 UTC 2023


> 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 10 additional commits since the last revision:

 - Update src/java.base/share/classes/java/lang/FdLibm.java
   
   Co-authored-by: Andrey Turbanov <turbanoff at gmail.com>
 - Update src/java.base/share/classes/java/lang/FdLibm.java
   
   Co-authored-by: Andrey Turbanov <turbanoff at gmail.com>
 - Update src/java.base/share/classes/java/lang/FdLibm.java
   
   Co-authored-by: Andrey Turbanov <turbanoff at gmail.com>
 - Update src/java.base/share/classes/java/lang/FdLibm.java
   
   Co-authored-by: Andrey Turbanov <turbanoff at gmail.com>
 - Update src/java.base/share/classes/java/lang/FdLibm.java
   
   Co-authored-by: Andrey Turbanov <turbanoff at gmail.com>
 - Update src/java.base/share/classes/java/lang/FdLibm.java
   
   Co-authored-by: Andrey Turbanov <turbanoff at gmail.com>
 - Update src/java.base/share/classes/java/lang/FdLibm.java
   
   Co-authored-by: Andrey Turbanov <turbanoff at gmail.com>
 - Update src/java.base/share/classes/java/lang/FdLibm.java
   
   Co-authored-by: Andrey Turbanov <turbanoff at gmail.com>
 - Update src/java.base/share/classes/java/lang/FdLibm.java
   
   Co-authored-by: Andrey Turbanov <turbanoff at gmail.com>
 - Update src/java.base/share/classes/java/lang/FdLibm.java
   
   Co-authored-by: Andrey Turbanov <turbanoff at gmail.com>

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/12800/files
  - new: https://git.openjdk.org/jdk/pull/12800/files/6e3567f7..321a66cd

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=12800&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=12800&range=00-01

  Stats: 10 lines in 1 file changed: 0 ins; 0 del; 10 mod
  Patch: https://git.openjdk.org/jdk/pull/12800.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/12800/head:pull/12800

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


More information about the core-libs-dev mailing list