命名空间
变体
操作

FLT_EVAL_METHOD

来自 cppreference.cn
< cpp‎ | types‎ | climits
 
 
 
 
 
定义于头文件 <cfloat>
#define FLT_EVAL_METHOD /* implementation-defined */
(自 C++11 起)

指定执行除赋值和强制类型转换之外的所有浮点算术运算的精度。

解释
负值,除了 -1 实现定义的行为
-1 默认精度未知
0 所有操作和常量都在所用类型的范围和精度内求值。此外,float_tdouble_t 分别等价于 floatdouble
1 所有操作和常量都在 double 的范围和精度内求值。此外,float_tdouble_t 都等价于 double
2 所有操作和常量都在 long double 的范围和精度内求值。此外,float_tdouble_t 都等价于 long double

[编辑] 注释

无论 FLT_EVAL_METHOD 的值如何,任何浮点表达式都可能被收缩,也就是说,计算时就好像所有中间结果都具有无限的范围和精度(除非 #pragma STDC FP_CONTRACT 关闭)。

强制类型转换和赋值会去除任何无关的范围和精度:这模拟了将扩展精度 FPU 寄存器中的值存储到标准大小的内存位置的操作。

[编辑] 参见

C 文档 关于 FLT_EVAL_METHOD