FLT_EVAL_METHOD
来自cppreference.com
                    
                                        
                    
                    
                                                            
                    |   定义于头文件  <cfloat>
  | 
||
|   #define FLT_EVAL_METHOD /* implementation defined */  | 
(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 寄存器存储值到标准大小内存位置的动作。