JDK 10 RFR of JDK-8183173: Add private constructors to Fdlibm-internal classes

Alexandre (Shura) Iline alexandre.iline at oracle.com
Thu Jun 29 01:37:30 UTC 2017


Thank you, Joe!

Looks good.

Shura

> On Jun 28, 2017, at 4:06 PM, joe darcy <joe.darcy at oracle.com> wrote:
> 
> Hello,
> 
> Please review the patch below to address
> 
>    JDK-8183173: Add private constructors to Fdlibm-internal classes
> 
> There are four fdblim methods ported to Java (so far) and thus four constructors added.
> 
> Thanks,
> 
> -Joe
> 
> diff -r c150ee32ec89 src/java.base/share/classes/java/lang/FdLibm.java
> --- a/src/java.base/share/classes/java/lang/FdLibm.java    Wed Jun 28 11:27:29 2017 -0700
> +++ b/src/java.base/share/classes/java/lang/FdLibm.java    Wed Jun 28 16:04:43 2017 -0700
> @@ -116,6 +116,10 @@
>         private static final double F =  0x1.9b6db6db6db6ep0;  // 45/28   ~= 1.60714285714285720630e+00
>         private static final double G =  0x1.6db6db6db6db7p-2; //    5/14   ~= 3.57142857142857150787e-01
> 
> +        private Cbrt() {
> +            throw new UnsupportedOperationException();
> +        }
> +
>         public static strictfp double compute(double x) {
>             double  t = 0.0;
>             double sign;
> @@ -195,6 +199,10 @@
>         public static final double TWO_MINUS_600 = 0x1.0p-600;
>         public static final double TWO_PLUS_600  = 0x1.0p+600;
> 
> +        private Hypot() {
> +            throw new UnsupportedOperationException();
> +        }
> +
>         public static strictfp double compute(double x, double y) {
>             double a = Math.abs(x);
>             double b = Math.abs(y);
> @@ -331,6 +339,10 @@
>      *      representable.
>      */
>     public static class Pow {
> +        private Pow() {
> +            throw new UnsupportedOperationException();
> +        }
> +
>         public static strictfp double compute(final double x, final double y) {
>             double z;
>             double r, s, t, u, v, w;
> @@ -664,6 +676,10 @@
>         private static final double P4   = -0x1.bbd41c5d26bf1p-20; // -1.65339022054652515390e-06
>         private static final double P5   =  0x1.6376972bea4d0p-25; //  4.13813679705723846039e-08
> 
> +        private Exp() {
> +            throw new UnsupportedOperationException();
> +        }
> +
>         // should be able to forgo strictfp due to controlled over/underflow
>         public static strictfp double compute(double x) {
>             double y;
> 



More information about the core-libs-dev mailing list