On Mon, 2 Aug 2021 22:34:58 GMT, Raffaello Giulietti 
<github.com+70726043+rgiulie...@openjdk.org> wrote:

> Hello,
> 
> please review the changes in documentation of floorDiv() and floorMod() in 
> all their variants. Some are clarifications, some are corrections.
> 
> Here's an example of a confusing formulation in the current doc
>> "the / operator returns the integer closest to zero"
> 
> Literally, the integer closest to zero is zero!
> 
> 
> The doc of floorMod(int, int) also states:
>> "If the signs of arguments are unknown and a positive modulus
>> is needed it can be computed as (floorMod(x, y) + abs(y)) % abs(y)."
> 
> That's a questionable advice, as the sum in parentheses can lead to 
> irrecoverable overflow (beside requiring two divisions instead of one).
> E.g., setting x = Integer.MAX_VALUE - 1, y = Integer.MAX_VALUE leads to the 
> quite incorrect result -3, which is not even positive!
> 
> 
> Greetings
> Raffaello

This pull request has now been integrated.

Changeset: 9f1edafa
Author:    Raffaello Giulietti <raffaello.giulie...@gmail.com>
Committer: Brian Burkhalter <b...@openjdk.org>
URL:       
https://git.openjdk.java.net/jdk/commit/9f1edafac4f096977ea6ce075ae7a6b0c2112b7d
Stats:     50 lines in 2 files changed: 6 ins; 7 del; 37 mod

8271599: Javadoc of floorDiv() and floorMod() families is inaccurate in some 
places

Reviewed-by: darcy, bpb

-------------

PR: https://git.openjdk.java.net/jdk/pull/4963

Reply via email to