使用舍入使浮点运算具有确定性



我已经使用必须是确定性的模拟实现了一个锁步模型。对于精确的位置,我使用浮动。现在我面临的问题是,它们在每个硬件/os上都不是确定性的。模拟依赖于矢量数学,每个刻度都有几个矢量并按比例缩放,但也计算指数值。

现在我很好奇,如果我将浮点值四舍五入到小数点后的4位以实现确定性,这是否足够,因为我每个刻度只对每个浮点值应用5-10次运算。

首先使用double s已经可以进一步减少近似误差。那么四舍五入可能就足够具有确定性了。

还可以使用strictfp,它正是您想要做的。

最新更新