標準ライブラリヘッダー <cfenv> (C++11)
From cppreference.com
このヘッダーは元々C標準ライブラリの<fenv.h>でした。
このヘッダーは浮動小数点環境ライブラリの一部です。
目次 |
[編集] 型
| fenv_t (C++11) |
浮動小数点環境全体を表す型 (typedef) |
| fexcept_t (C++11) |
すべての浮動小数点ステータスフラグをまとめて表す型 (typedef) |
[編集] 関数
| (C++11) |
指定された浮動小数点ステータスフラグをクリアする (関数) |
| (C++11) |
指定された浮動小数点ステータスフラグのうちどれが設定されているかを判定する (関数) |
| (C++11) |
指定された浮動小数点例外を発生させる (関数) |
| (C++11)(C++11) |
指定された浮動小数点ステータスフラグの状態を浮動小数点環境との間でコピーする (関数) |
| (C++11)(C++11) |
丸め方向を取得または設定する (関数) |
| (C++11) |
現在の浮動小数点環境を保存または復元する (関数) |
| (C++11) |
環境を保存し、すべてのステータスフラグをクリアし、以降のすべてのエラーを無視する (関数) |
| (C++11) |
浮動小数点環境を復元し、以前に発生した例外を発生させる (関数) |
[編集] マクロ
| 浮動小数点例外 (マクロ定数) | |
| 浮動小数点数の丸め方向 (マクロ定数) | |
| (C++11) |
デフォルトの浮動小数点環境 (マクロ定数) |
[編集] 概要
#define FE_ALL_EXCEPT /* see description */ #define FE_DIVBYZERO /* see description */ // optional #define FE_INEXACT /* see description */ // optional #define FE_INVALID /* see description */ // optional #define FE_OVERFLOW /* see description */ // optional #define FE_UNDERFLOW /* see description */ // optional #define FE_DOWNWARD /* see description */ // optional #define FE_TONEAREST /* see description */ // optional #define FE_TOWARDZERO /* see description */ // optional #define FE_UPWARD /* see description */ // optional #define FE_DFL_ENV /* see description */ namespace std { // types using fenv_t = /* object type */; using fexcept_t = /* object type */; // functions int feclearexcept(int except); int fegetexceptflag(fexcept_t* pflag, int except); int feraiseexcept(int except); int fesetexceptflag(const fexcept_t* pflag, int except); int fetestexcept(int except); int fegetround(void); int fesetround(int mode); int fegetenv(fenv_t* penv); int feholdexcept(fenv_t* penv); int fesetenv(const fenv_t* penv); int feupdateenv(const fenv_t* penv); }
[編集] 欠陥報告
以下の動作変更を伴う欠陥報告が、以前に公開されたC++標準に遡って適用されました。
| DR | 適用対象 | 公開された動作 | 正しい動作 |
|---|---|---|---|
| LWG 3905 | C++11 | std::fexcept_t は整数型でなければならない |
これはオブジェクト型である |