FLT_EVAL_METHOD
From cppreference.net
C++
Utilities library
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Type support
| Basic types | |||||||||||||||||||||
| Fixed width integer types (C++11) | |||||||||||||||||||||
| Fixed width floating-point types (C++23) | |||||||||||||||||||||
|
|||||||||||||||||||||
| Numeric limits | |||||||||||||||||||||
| C numeric limits interface | |||||||||||||||||||||
| Runtime type information | |||||||||||||||||||||
|
|||||||||||||||||||||
C numeric limits interface
|
FLT_EVAL_METHOD
(C++11)
|
|
定义于头文件
<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
|