fenv.h
是C标准函数库中的头文件,提供了对浮点环境的支持。浮点环境(floating-point environment)是指任何实现支持的浮点状态标志与控制模式。浮点状态标志(floating-point status flag)是一个系统变量,当浮点异常被抛出时该系统变量被置位。浮点控制模式(floating-point
control mode)是一个系统变量,用户可以对其置位,以影响随后的浮点运算行为。
类型
- fenv_t 表示整体浮点环境
- fexcept_t 表示浮点状态的集合
宏
- 表示各种浮点运算异常:
- FE_DIVBYZERO
- FE_INEXACT
- FE_INVALID
- FE_OVERFLOW
- FE_UNDERFLOW
- FE_ALL_EXCEPT
- 近似舍入方法
- FE_DOWNWARD
- FE_TONEAREST
- FE_TOWARDZERO
- FE_UPWARD
- 缺省浮点环境
- FE_DFL_ENV
函数
- feclearexcept 清除给定的浮点异常
- fegetexceptflag 保存一个浮点状态标志到对象中
- feraiseexcept 抛出一个浮点异常
- fesetexceptflag 设置一个浮点状态标志到对象中
- fetestexcept 测试那些浮点异常标志被置位
- fegetround 获取当前近似舍入方法
- fesetround 设置近似舍入方法
- fegetenv 存储当前浮点环境到对象中
- feholdexcept 存储当前浮点环境到对象中,清楚浮点状态标志,安装non-stop模式
- fesetenv 从对象存储的浮点环境恢复现场
- feupdateenv 保存当前浮点异常,从对象存储的浮点环境恢复现场,再重新抛出当前浮点异常
参考文献
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.