On Fri, 15 Nov 2024 13:22:32 GMT, Raffaello Giulietti <rgiulie...@openjdk.org> wrote:
>> fabioromano1 has updated the pull request incrementally with one additional >> commit since the last revision: >> >> Code simplification > > src/java.base/share/classes/java/math/BigDecimal.java line 2190: > >> 2188: resultScale = strippedScale >> 1; >> 2189: } else { >> 2190: working = working.multiply(10L); > > While this is correct, there's useless work that is being performed. > > After the multiplication by 10, `working` cannot be an exact square, so this > will fail later at L.2199. > I wonder if this can be simplified to avoid the `multiply()` and the > following `sqrtAndRemainder()` when `strippedScale` is odd. I'm changing the code to take into account this fact. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/21301#discussion_r1843855833