On Thu, 18 Jul 2024 14:49:19 GMT, Raffaello Giulietti <rgiulie...@openjdk.org> wrote:
>> I did it, although I'm afraid it takes up too much running time due to the >> overhead of BigInteger's wrapping... > > I mean only restricted to unsigned `long` perfect squares, something like the > following, but written as a proper test > > > long i = 0; > for (; i < 1L << 32; ++i) { > long x = i * i; > long s = (long) Math.sqrt(x >= 0 ? x : x + 0x1p64); > if (!(s + 1 == i || s == i)) { > System.out.format("oops... i=%d, but s=%d%n", i, s); > System.exit(1); > } > } It takes about 5 s on my laptop. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/19710#discussion_r1682990602