fetestexcept
指定した浮動小数点例外状態フラグのうち、現在設定されているフラグを確認します。
構文
int fetestexcept(
int excepts
);
パラメーター
excepts
テストする浮動小数点状態フラグのビット演算 OR。
戻り値
成功時には、現在設定されている例外状態フラグに対応する浮動小数点例外処理マクロのビット演算 OR を含むビットマスクを返します。 例外が設定されていない場合は、0 を返します。
解説
fetestexcept 関数は、浮動小数点演算で発生した例外を確認するために使用します。 excepts
パラメーターを使用して、テストする例外状態フラグを指定します。 fetestexcept
関数は、excepts
の <fenv.h> で定義されている次の例外マクロと戻り値を使用します。
例外処理マクロ | 説明 |
---|---|
FE_DIVBYZERO |
前の浮動小数点演算で特異点エラーまたは極エラーが発生しました。無限大の値が作成されました。 |
FE_INEXACT |
前の浮動小数点演算の格納結果は強制的に丸められました。 |
FE_INVALID |
前の浮動小数点演算でドメイン エラーが発生しました。 |
FE_OVERFLOW |
範囲エラーが発生しました。前の浮動小数点演算結果は大きすぎて表現できませんでした。 |
FE_UNDERFLOW |
前の浮動小数点演算結果は小さすぎて最大有効桁数で表現できませんでした。 |
FE_ALL_EXCEPT |
すべてのサポートされる浮動小数点例外のビット演算 OR。 |
指定した excepts
引数は、0、サポートされる浮動小数点例外処理マクロ、または複数のマクロのビット演算 OR の場合があります。 他の excepts
引数値の結果は未定義です。
この関数を使用するには、呼び出しの前に #pragma fenv_access(on)
ディレクティブを使用してアクセスを妨げる可能性のある浮動小数点の最適化をオフにする必要があります。 詳細については、fenv_access
を参照してください。
要件
機能 | C ヘッダー | C++ ヘッダー |
---|---|---|
fetestexcept |
<fenv.h> | <cfenv> |
互換性の詳細については、「 Compatibility」を参照してください。