RFR: 8334755: Asymptotically faster implementation of square root algorithm [v47]
fabioromano1
duke at openjdk.org
Mon Jul 29 18:28:40 UTC 2024
On Mon, 29 Jul 2024 16:48:32 GMT, Raffaello Giulietti <rgiulietti at openjdk.org> wrote:
>> fabioromano1 has updated the pull request incrementally with one additional commit since the last revision:
>>
>> If the input is a square, then s0 == 0, so testing for non-zero remainder is redundant
>
> src/java.base/share/classes/java/math/MutableBigInteger.java line 550:
>
>> 548: */
>> 549: void safeRightShift(int n) {
>> 550: if (n >= bitLength()) {
>
> The commit message for this reads `More accurate condition for MBI.safeRightShift()`.
> If the old version works, please switch back. But if this is a genuine bug, then it needs a separate bug issue and PR.
@rgiulietti The code of `MBI.safeRightShift()` works, but it seems that its correctness relies on the implementation of `MBI.rightShift()`, rather than on its own documentation or on that of `MBI.rightShift()`. The real problem is that, as usual, the preconditions of `MBI.rightShift()` are not clearly specified.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/19710#discussion_r1695677987
More information about the core-libs-dev
mailing list