fenv.h
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 保存當前浮點異常,從對象存儲的浮點環境恢復現場,再重新拋出當前浮點異常