我正在开发一个需要浮点确定性的C应用程序.我还希望浮点运算相当快.这包括IEEE754未指定的标准超越函数,如正弦和对数.与硬件浮点相比,我考虑的软件浮点实现相对较慢,所以我考虑简单地从每个答案中舍去一个或两个最低有效位.精度的损失对我的应用程序来说是一个充分的妥协,但这是否足以确保跨平台的确定性结果?所有浮点值都将是双倍的.
我意识到操作顺序是浮点结果差异的另一个潜在来源.我有办法解决这个问题.
如果今天使用的主要浮点硬件实现的软件实现将是非常好的,所以我可以直接测试这样的假设.
c floating-point deterministic rounding numerical-computing
c ×1
deterministic ×1
floating-point ×1
numerical-computing ×1
rounding ×1