Ric*_*ook 4 java math abstraction bigdecimal
我目前正在编写一个具有大量数学计算的应用程序.在某些情况下,这些计算需要快速完成,我们可以处理少量的精度损失,以尽快完成数学计算.另一方面,有时我们要求计算非常精确地完成(并且在两者之间存在用例,我们将实现我们自己的乘法/除法/加法/减法/幂等方式,这更精确,即浮点数*float(或double*double,我知道float是一个糟糕的选择),但比BigDecimal.multiply(BigDecimal)更快......甚至比apfloat而不是BigDecimal更快.
是否有任何现有的库允许抽象这些数字格式,以便抽象出不同的数学方法,或者我是否必须创建自己的数学格式?
我已经开始编写一些东西了,这似乎工作正常,但是如果有一个经过良好测试的库而不是重新发明轮子,我认为会好得多.
已编辑以通过以下评论中的内容澄清情况:
问题是BigDecimal明显慢于double*double等.我们需要能够在精度和速度之间切换.这背后的原因是我们需要能够运行快速测试以进行调试和使用真实世界数据进行交叉检查(这不需要非常准确),但最终模拟(通常需要数天到数周):不可接受调试)将需要高精度.因此需要能够随意切换.