RFR: JDK-8323186: A faster algorithm for MutablebigInteger.divWord(long, int) [v3]

Raffaello Giulietti rgiulietti at openjdk.org
Mon Jan 22 16:18:31 UTC 2024


On Tue, 9 Jan 2024 18:24:49 GMT, fabioromano1 <duke at openjdk.org> wrote:

>> The method `MutableBigInteger.divWord(long, int)` can use the algorithm of Hacker's Delight (2nd ed), section 9.3, the same used in `Long.divideUnsigned(long, long)` and `Long.remainderUnsigned(long, long)`, to get the computation faster.
>
> fabioromano1 has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Removed trailing whitespaces

What about splitting the result of `divWord()` into its components `q` and `r` and check that `0 <= r < d` and `n == q * d + r`? Mathematically this should be sufficient. Perhaps you might need to take care about unsigned vs signed arithmetic.

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

PR Comment: https://git.openjdk.org/jdk/pull/17291#issuecomment-1904341649


More information about the core-libs-dev mailing list