我正在编程这个符号数学程序,并且我在质疑我检测零常数的方式,例如检查它是否应该返回一个总和或只是一个对象。
现在我正在检查if (-Double.MIN_NORMAL <= constantPart.evaluate() && constantPart.evaluate() <= Double.MIN_NORMAL)
,虽然我不确定这个余量是否足够。
依靠逐渐下溢来产生小于Double.MIN_NORMAL
的非规范化值是不是很糟糕?否则误差幅度应该是多少。
例如2 * Double.MIN_NORMAL
会不会?
我显然可以做一些测试,但我觉得这并不能让我知道里面发生了什么。
有没有办法为任何特定情况确定足够的保证金?