On Sat, 27 Jul 2024 12:18:19 GMT, fabioromano1 <d...@openjdk.org> wrote:
>> test/micro/org/openjdk/bench/java/math/BigIntegerSquareRoot.java line 74: >> >>> 72: >>> 73: for (int i = 0; i < TESTSIZE; i++) { >>> 74: int value = Math.abs(r.nextInt()); >> >> There's a risk of an overflow here if the random `int` is `MIN_VALUE`, which >> would throw an exception later. > > The benchmark `BigIntegers.java`, on which I based this, has the same problem. It wasn't the overflow by itself that worried me, but that a later invocation of `sqrt*()` could throw. Again, the "huge" numbers are less than 2^66. You might to take a look at `shiftArray` in `BigInteger.java` for inspiration, and adding some leading `0` bits to exercise the normalization/denormalization impact. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/19710#discussion_r1693960748