Floating-point environment
From cppreference.net
浮点环境是实现所支持的浮点状态标志和控制模式的集合。它具有线程局部性,每个线程从其父线程继承初始的浮点环境状态。浮点运算会修改浮点状态标志以指示异常结果或辅助信息。浮点控制模式的状态会影响某些浮点运算的结果。
浮点环境的访问和修改仅在设置了
#pragma STDC FENV_ACCESS
为
ON
时才有意义。否则实现可自由假定浮点控制模式始终为默认模式,且浮点状态标志从不被测试或修改。实践中,目前仅有少数编译器(如HP aCC、Oracle Studio和IBM XL)显式支持该
#pragma
,但大多数编译器仍允许对浮点环境进行有效访问。
目录 |
类型
|
定义于头文件
<fenv.h>
|
|
| fenv_t | 表示整个浮点环境的类型 |
| fexcept_t | 表示所有浮点状态标志的集合类型 |
函数
|
(C99)
|
清除指定的浮点状态标志
(函数) |
|
(C99)
|
检测哪些指定的浮点状态标志被设置
(函数) |
|
(C99)
|
触发指定的浮点异常
(函数) |
|
(C99)
(C99)
|
从浮点环境复制指定浮点状态标志的状态,或向浮点环境复制状态
(函数) |
|
(C99)
(C99)
|
获取或设置舍入方向
(函数) |
|
(C99)
|
保存或恢复当前浮点环境
(函数) |
|
(C99)
|
保存环境,清除所有状态标志并忽略所有后续错误
(函数) |
|
(C99)
|
恢复浮点环境并触发先前引发的异常
(函数) |
宏
|
浮点异常
(宏常量) |
|
|
浮点舍入方向
(宏常量) |
|
|
(C99)
|
默认浮点环境
(宏常量) |
参考文献
- C23 标准 (ISO/IEC 9899:2024):
-
- 7.6 浮点环境 <fenv.h> (页码: 待定)
-
- 7.31.4 浮点环境 <fenv.h> (页码: 待定)
- C17 标准 (ISO/IEC 9899:2018):
-
- 7.6 浮点环境 <fenv.h> (页码: 150-156)
-
- 7.31.4 浮点环境 <fenv.h> (页码: 332)
- C11 标准 (ISO/IEC 9899:2011):
-
- 7.6 浮点环境 <fenv.h> (页码: 206-215)
-
- 7.31.4 浮点环境 <fenv.h> (页码: 455)
- C99标准(ISO/IEC 9899:1999):
-
- 7.6 浮点环境 <fenv.h>(页码:187-196)
参见
|
C++ documentation
for
浮点环境
|