FLT_EVAL_METHOD
来自 cppreference.com
定义在头文件 <cfloat> 中 |
||
#define FLT_EVAL_METHOD /* 实现定义 */ |
(自 C++11 起) | |
指定除了赋值和转换之外所有浮点运算的精度。
值 | 解释 |
负值,除了 -1 |
实现定义行为 |
-1
|
默认精度未知 |
0
|
所有操作和常量在所用类型的范围和精度内计算。此外,float_t 和 double_t 等效于 float 和 double |
1
|
所有操作和常量在 double 的范围和精度内计算。此外,float_t 和 double_t 均等效于 double |
2
|
所有操作和常量在 long double 的范围和精度内计算。此外,float_t 和 double_t 均等效于 long double |
[编辑] 注释
无论 FLT_EVAL_METHOD 的值如何,任何浮点表达式都可能被压缩,即计算时假设所有中间结果具有无限范围和精度(除非 #pragma STDC FP_CONTRACT 已关闭)
转换和赋值会去除任何多余的范围和精度:这模拟了将值从扩展精度 FPU 寄存器存储到标准大小内存位置的操作。
[编辑] 另请参见
C 文档 针对 FLT_EVAL_METHOD
|