On Mon, 7 Aug 2023 17:35:34 GMT, Andrey Turbanov <aturba...@openjdk.org> wrote:
>> src/java.base/share/classes/java/lang/Math.java line 3425: >> >>> 3423: // Constants used in scalb >>> 3424: private static final double twoToTheDoubleScaleUp = >>> powerOfTwoD(512); >>> 3425: private static final double twoToTheDoubleScaleDown = >>> powerOfTwoD(-512); >> >> Aren't these the _literals_ `0x1p512` and `0x1p-512`, respectively? > > Whoa. You are right. > > public static void main(String[] args) { > System.out.println(twoToTheDoubleScaleUp); > System.out.println(twoToTheDoubleScaleDown); > System.out.println(0x1p512); > System.out.println(0x1p-512); > > System.out.println(twoToTheDoubleScaleUp == 0x1p512); > System.out.println(twoToTheDoubleScaleDown == 0x1p-512); > } > > > > 1.3407807929942597E154 > 7.458340731200207E-155 > 1.3407807929942597E154 > 7.458340731200207E-155 > true > true These static fields seem to be used just once each, so we might as well just replace the usages with the literals and get rid of the fields. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/14875#discussion_r1286221538