RFR: 4837946: Faster multiplication and exponentiation of large integers [v34]
Chen Liang
liach at openjdk.org
Sat Apr 26 17:24:46 UTC 2025
On Sat, 26 Apr 2025 17:19:30 GMT, Chen Liang <liach at openjdk.org> wrote:
>> fabioromano1 has updated the pull request incrementally with one additional commit since the last revision:
>>
>> Removed method used by nth-root
>
> src/java.base/share/classes/java/math/BigInteger.java line 2721:
>
>> 2719: if (!pow.equals(ONE)) {
>> 2720: for (int i = 0; i < blockLen; i++)
>> 2721: pow = pow.multiply(pow);
>
> Majority of the time we have `blockLen == maxExpLen`. We should cache that pow-to-maxExpLen result too, if we have `maxExpLen >= nLen` initially. Maybe also calculate power-to-`nLen % maxExpLen` as that will be used in the final round of the loop.
No, pow is always being modified, ignore this, my bad.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/24690#discussion_r2061497718
More information about the core-libs-dev
mailing list