RFR: 8341470: BigDecimal.stripTrailingZeros() optimization [v12]
fabioromano1
duke at openjdk.org
Wed Oct 9 20:35:15 UTC 2024
On Wed, 9 Oct 2024 20:19:39 GMT, Raffaello Giulietti <rgiulietti at openjdk.org> wrote:
>> @rgiulietti I think I just found a problem much more serious than a simple optimization, I'm afraid the semantics of `BigInteger.bitCount()` is ill-defined, although it seems absurd to me that no one has noticed it so far...
>
> What's wrong with the semantics? In my understanding, it should count the ones for non-negative values and the zeros for negative values, where non-negative values have an infinite prefix of zero bits and negative values have an infinite prefix of one bits in two's complement representation.
>
> Note that this is different from `[Long|Integer].bitCount()`, which consider their arguments as finite width unsigned bit strings.
@rgiulietti But the documentation is not clear about this, it should be specified...
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/21323#discussion_r1794189722
More information about the core-libs-dev
mailing list