feupdateenv
現在発生している浮動小数点例外を保存し、指定した浮動小数点環境状態を復元し、保存されている浮動小数点例外を発生させます。
構文
int feupdateenv(
const fenv_t* penv
);
パラメーター
penv
へのfenv_t
呼び出しによって設定された浮動小数点環境を含むオブジェクトへのfegetenv
ポインター。feholdexcept
マクロを使用して、既定のスタートアップ浮動小数点環境を FE_DFL_ENV
指定することもできます。
戻り値
すべてのアクションが正常に完了した場合は、0 を返します。 それ以外の場合は、0 以外の値を返します。
解説
feupdateenv
関数は複数のアクションを実行します。 まず、現在発生している浮動小数点例外状態フラグを自動ストレージに格納します。 次に、penv
が示す fenv_t
オブジェクトに格納されている値から現在の浮動小数点環境を設定します。 有効なfenv_t
オブジェクトをFE_DFL_ENV
指していないか、または指していない場合penv
、後続の動作は未定義です。 最後に、feupdateenv
は、ローカルに格納されている浮動小数点例外を発生させます。
この関数を使用するには、呼び出しの前に #pragma fenv_access(on)
ディレクティブを使用してアクセスを妨げる可能性のある浮動小数点の最適化をオフにする必要があります。 詳細については、fenv_access
を参照してください。
必要条件
機能 | C ヘッダー | C++ ヘッダー |
---|---|---|
feupdateenv |
<fenv.h> | <cfenv> |
互換性の詳細については、「 Compatibility」を参照してください。
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示