RFR: 8240632: Note differences between IEEE 754-2019 math lib special cases and java.lang.Math
Joe Darcy
joe.darcy at oracle.com
Thu Feb 4 18:28:28 UTC 2021
Hi Raffaello,
Thanks for catching the spec error; fixed in a subsequent push.
Cheers,
-Joe
On 2/4/2021 3:22 AM, Raffaello Giulietti wrote:
> Hello Joe,
>
> in the javadoc of acos() I think you should replace the mathematically
> incorrect
>
> * <li>If the argument is {@linkplain Double#isInfinite infinite},
>
> with something like
>
> * <li>If the argument is zero,
>
>
>
> Also, in some places pi/2 is described as
>
> <i>pi</i>/2, rounded,
>
> which is more open to interpretation, depending on what is meant by
> "rounded" (which mode? Granted, default is "to closest"), whereas in
> other places it is described as
>
> the value closest to <i>pi</i>/2
>
> which is preferable, as it is unambiguous.
>
>
> Greetings
> Raffaello
>
>
>
>> On Thu, 4 Feb 2021 02:08:12 GMT, Joe Darcy <darcy at openjdk.org> 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.
>>
>> PS After the wording for the Math class is finalized, I'll add
>> analogous wording to the StrictMath class and run a CSR.
>>
>> -------------
>>
>> PR: https://git.openjdk.java.net/jdk/pull/2395
>>
More information about the core-libs-dev
mailing list