fesetexceptflag

現在の浮動小数点環境の指定した浮動小数点状態フラグを設定します。

構文

int fesetexceptflag(
     const fexcept_t *pstatus,
     int excepts
);

パラメーター

pstatus
例外状態フラグを fexcept_t 設定する値を含むオブジェクトへのポインター。 オブジェクトは、前の呼び出し fegetexceptflagで設定できます。

excepts
設定する浮動小数点例外状態フラグ。

戻り値

すべての指定した例外状態フラグが正常に設定された場合は、0 を返します。 それ以外の場合は、0 以外の値を返します。

解説

fesetexceptflag 関数は、excepts で指定される浮動小数点例外状態フラグの状態を、pstatus で示される fexcept_t オブジェクトに設定されている対応する値に設定します。 例外は発生しません。 pstatus ポインターは有効な fexcept_t オブジェクトを示す必要があります。そうしないと、その後の動作は未定義になります。 この関数ではfesetexceptflag、fenv.h> で<定義されている次のexcepts例外マクロ値がサポートされています。

例外処理マクロ 説明
FE_DIVBYZERO 前の浮動小数点演算で特異点エラーまたは極エラーが発生しました。無限大の値が作成されました。
FE_INEXACT 前の浮動小数点演算の格納結果は強制的に丸められました。
FE_INVALID 前の浮動小数点演算でドメイン エラーが発生しました。
FE_OVERFLOW 範囲エラーが発生しました。前の浮動小数点演算結果は大きすぎて表現できませんでした。
FE_UNDERFLOW 前の浮動小数点演算結果は小さすぎて最大有効桁数で表現できませんでした。
FE_ALL_EXCEPT すべてのサポートされる浮動小数点例外のビット演算 OR。

excepts 引数は、0、サポートされる浮動小数点例外処理マクロ、または複数のマクロのビット演算 OR の場合があります。 他の 引数値の結果は未定義です。

この関数を使用するには、呼び出しの前に #pragma fenv_access(on) ディレクティブを使用してアクセスを妨げる可能性のある浮動小数点の最適化をオフにする必要があります。 詳細については、fenv_accessを参照してください。

必要条件

機能 C ヘッダー C++ ヘッダー
fesetexceptflag <fenv.h> <cfenv>

互換性の詳細については、「 Compatibility」を参照してください。

関連項目

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