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