浮動小数点環境
From 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) |
デフォルトの浮動小数点環境 (マクロ定数) |
[編集] 参照
- C23標準 (ISO/IEC 9899:2024)
- 7.6 Floating-point environment <fenv.h> (p: TBD)
- 7.31.4 Floating-point environment <fenv.h> (p: TBD)
- C17標準 (ISO/IEC 9899:2018)
- 7.6 Floating-point environment <fenv.h> (p: 150-156)
- 7.31.4 Floating-point environment <fenv.h> (p: 332)
- C11標準 (ISO/IEC 9899:2011)
- 7.6 Floating-point environment <fenv.h> (p: 206-215)
- 7.31.4 Floating-point environment <fenv.h> (p: 455)
- C99標準 (ISO/IEC 9899:1999)
- 7.6 Floating-point environment <fenv.h> (p: 187-196)
[編集] 関連項目
| C++ documentation for Floating-point environment
|