On Tue, 26 Nov 2024 15:02:20 GMT, Raffaello Giulietti <rgiulie...@openjdk.org> wrote:
> OK. But for the sake of completeness, I would add at least one test case for > an overflowing `workingScale`. I'm afraid it's not possible to produce such a test case, with the current implementation of `BigInteger`. Indeed, `workingScale` is defined by `workingScale = this.scale - normScale`, and `normScale` by: long normScale = minWorkingPrec - this.precision() + this.scale; normScale += normScale & 1L; Therefore `workingScale == this.precision() - minWorkingPrec - (normScale & 1L)`, so to overflow `workingScale` it is necessary to maximize `this.precision()`, thus`this.intVal` must have at least `Integer.MAX_VALUE + 1` digits, but `BigInteger.TEN.pow(Integer.MAX_VALUE)` surely exceeds the supported range for `BigInteger`s... ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/21301#discussion_r1858931814