【发布时间】:2023-03-20 03:22:01
【问题描述】:
gcc 的__float128 浮点数的算术运算是否考虑了当前的舍入模式?
例如,如果使用C++11函数std::fesetenv,我将舍入模式改为FE_DOWNWARD,对__float128的算术运算结果是否会向下舍入?
__float128 规范是否保证这一点?
【问题讨论】:
-
在机器上测试时看到了什么?例如,当您将舍入模式从roundTowardPositive 更改为roundTowardNegative 时,计算
(__float128)1.0 / (__float128)3.0是否会给出不同的结果? -
来自source,至少有一些证据表明支持舍入模式。例如,有一些变更日志条目用于使
strtod支持舍入模式。 -
As I recall,gcc 甚至不支持
doubles 的非默认舍入模式。
标签: c++ c++11 gcc floating-point