FLT_EVAL_METHOD
From cppreference.net
|
定义于头文件
<float.h>
|
||
|
#define FLT_EVAL_METHOD /* implementation-defined */
|
(C99 起) | |
指定从浮点常量以及除赋值、强制转换和库函数调用之外的所有操作(运算符、操作数的隐式转换)所获得的浮点数值的范围和精度。
| 数值 | 说明 |
| 除 - 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寄存器存储到标准大小内存位置的操作。
参见
|
(C99)
|
最高效的浮点类型,宽度至少与
float
相同
(typedef) |
|
(C99)
|
最高效的浮点类型,宽度至少与
double
相同
(typedef) |
|
C++ documentation
for
FLT_EVAL_METHOD
|
|