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」を参照してください。