TauZero@mander.xyztoProgramming@programming.dev•Using BigInteger and BigDecimal only?English
6·
1 year agoThe arbitrary precision may cause your bignums to balloon out of control in memory/cpu usage after repeated multiplication, unless you can prove that it will not. For example:
double x = 1;
while (true){
x *= Math.exp((Math.random()*2 - 1) / 1000);
}
Would work perfectly fine with floats and x will remain about 1, but with BigDecimal it will grind to a halt.
Give it a MathContext with the max precision that you want to allow.