feholdexcept
指定したオブジェクトに現在の浮動小数点環境を格納し、浮動小数点状態フラグをクリアし、可能であれば、浮動小数点環境を無停止モードにします。
構文
int feholdexcept(
fenv_t *penv
);
パラメーター
penv
浮動小数点環境のコピーを含む fenv_t
オブジェクトへのポインター。
戻り値
関数が無停止の浮動小数点例外処理を正常に有効にすることができる場合にのみ、0 を返します。
解説
feholdexcept
関数は、penv
が示す fenv_t
オブジェクトの現在の浮動小数点環境の状態を格納し、浮動小数点例外に対する実行を中断しないように環境を設定するために使用されます。 このモードは、 非停止モードと呼ばれます。 このモードは、 fesetenv
または feupdateenv
を使用して環境が復元されるまで続行されます。
この関数は、1 つまたは複数の浮動小数点例外を呼び出し元から隠す必要があるサブルーチンの開始時に使用できます。 例外を報告するには、 feclearexcept
を使用して不要な例外をクリアし、 feupdateenv
の呼び出しで非停止モードを終了します。
この関数を使用するには、呼び出しの前に #pragma fenv_access(on)
ディレクティブを使用してアクセスを妨げる可能性のある浮動小数点の最適化をオフにする必要があります。 詳細については、fenv_access
を参照してください。
要件
機能 | C ヘッダー | C++ ヘッダー |
---|---|---|
feholdexcept |
<fenv.h> | <cfenv> |
互換性の詳細については、「 Compatibility」を参照してください。