On Thu, 4 Feb 2021 18:30:57 GMT, Joe Darcy <[email protected]> wrote:
>> Recent revisions of the IEEE 754 floating-point standard have added guidance
>> on how typical math library methods (sin, cos, tan, etc.) should behave in
>> terms of their general quality of implementation as well as on special
>> values.
>>
>> Other than the pow methods, for the recommended operations listed by IEEE
>> 754 that the Java math library already includes, the special cases that are
>> specified by Java are the same as those specified by IEEE 754, except for
>> the pow method. IEEE 754 calls out some special cases not explicitly listed
>> in the Java specs. This changeset adds those special cases to the spec and
>> adds tests of the the special cases if not already present.
>>
>> If method "Foo" already had a regression test, new cases were added it it.
>> Otherwise, a new test was added to cover the special cases of several
>> methods.
>>
>> There is no intention at the moment to change the behavior of pow to align
>> with IEEE 754.
>
> Joe Darcy has updated the pull request incrementally with one additional
> commit since the last revision:
>
> Correct acos spec and fix regression test.
src/java.base/share/classes/java/lang/Math.java line 237:
> 235: * <ul><li>If the argument is NaN or its absolute value is greater
> 236: * than 1, then the result is NaN.
> 237: * <li>If the argument is {@code 1.0}, the result is {@code +0.0}.
`+0.0` is used here but in several cases below it is written out as `positive
zero`.
src/java.base/share/classes/java/lang/Math.java line 716:
> 714: * the infinite power as a large integer (large-magnitude
> 715: * floating-point numbers are numerically integers, specifically
> 716: * even integer) and therefore specifies {@code 1.0} be returned.
In this sentence `integer` should be plural.
-------------
PR: https://git.openjdk.java.net/jdk/pull/2395