fetestexcept

指定した浮動小数点例外状態フラグのうち、現在設定されているフラグを確認します。

構文

int fetestexcept(
   int excepts
);

パラメーター

excepts
テストする浮動小数点状態フラグのビット演算 OR。

戻り値

成功時には、現在設定されている例外状態フラグに対応する浮動小数点例外処理マクロのビット演算 OR を含むビットマスクを返します。 例外が設定されていない場合は、0 を返します。

解説

fetestexcept 関数は、浮動小数点演算で発生した例外を確認するために使用します。 excepts パラメーターを使用して、テストする例外状態フラグを指定します。 この関数はfetestexcept、fenv.h> in excepts で定義されている次の<例外マクロと戻り値を使用します。

例外処理マクロ 説明
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」を参照してください。

関連項目

アルファベット順関数リファレンス
feclearexcept
feraiseexcept