Recent changes to the arithmetical operations mean that many
arithmetic operation results are now coerced to Integer, even if both
input variables are Long.

This is unexpected behaviour - e.g. Commons Jelly expects that Long*2 => Long

Seems to me that the result of an arithmetic op should generally be
the same as the "bigger" type, i.e the combinations should be treated
as follows:

Integer op Integer => Integer
Long op Integer|Long => Long
BigInteger op Integer|Long|Biginteger => BigInteger
BigDecimal op Integer|Long|Biginteger|BigDecimal => BigDecimal

As before, I suggest we keep:
Float|Double,anything => Double

Numeric Literals were (and are) treated as Integer, which works well
with the above scheme.

WDYT?

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to