浮動小数点環境
提供: cppreference.com
浮動小数点環境は処理系がサポートしている浮動小数点のステータスフラグと制御モードのセットです。 これらはスレッドローカルであり、各スレッドは親スレッドから浮動小数点環境の初期状態を引き継ぎます。 浮動小数点演算は異常な結果や補助情報を示すために浮動小数点ステータスフラグを変更します。 浮動小数点制御モードの状態はいくつかの浮動小数点演算の結果に影響を与えます。
浮動小数点環境へのアクセスおよび変更は #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) | デフォルトの浮動小数点環境 (マクロ定数) |