Affects Version/s: None
Fix Version/s: 2.0
BigInteger(7) / BigInteger(2) == 3
BigDecimal(7) / BigDecimal(2) == 4, because the result is rounded up.
I would expect the results to be the same.
Rather worse is:
BigDecimal(7) % BigDecimal(2) == -1
which makes no sense at all.
Seems to me that the arithmetic "rules" need revisiting and rationalising - for example why should Integer be treated as double?
At present literal numbers are treated as Integer or Float; there's no option to generate Long or Double literals.