On Wed, 17 Jul 2024 15:11:36 GMT, Raffaello Giulietti <[email protected]>
wrote:
>> Also, this avoids a test
>>
>> if (Long.compareUnsigned(x, s * s - 1) <= 0) { // benign over-
>> and underflows
>> s--;
>> }
>
> Sorry, disregard the above as it doesn't work for x = 0.
> Also, this avoids a test
>
> ```
> if (Long.compareUnsigned(x, s * s - 1) <= 0) { // benign over-
> and underflows
> s--;
> }
> ```
Yes, but... if `s == 0`, then `x == 0`, so `Long.compareUnsigned(x, s * s - 1)
<= 0` and `s` is decremented... incorrectly.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/19710#discussion_r1681241965