fesetenv() - 浮動小数点環境の設定

標準

標準/拡張機能 C/C++ 依存項目

C99
Single UNIX Specification、バージョン 3
C/C++ DFP
C++ TR1 C99

両方   z/OS V1R8pd

形式

#define _ISOC99_SOURCE
#include <fenv.h>

int fesetenv(const fenv_t *envp);

機能説明

fesetenv() は、envp によって指定されたオブジェクトが示す浮動小数点環境を設定します。引数 envp は、fegetenv() または feholdexcept() の呼び出しによって設定されるオブジェクトを指すか、または浮動小数点環境マクロと等価です。 fesetenv() は単に、envp によって示された浮動小数点状況フラグの状態をインストールするのみで、これらの浮動小数点例外が発生することはありません。
注: 下表は、これらの関数の実行可能な形式を示しています。 IEEE 2 進数浮動小数点の詳細は、IEEE 2 進数浮動小数点を参照してください。
関数 Hex IEEE
fesetenv   X
注 :
  1. ハードウェアに 10 進数浮動小数点機能がインストールされている場合、 この関数は 10 進浮動小数点丸めモードを設定するために使用できます。
  2. この関数は、IEEE 10 進数浮動小数点形式で機能します。詳細は 「IEEE 10 進数浮動小数点」を参照してください。

戻り値

正常に実行された場合、設定値が復元されれば fesetenv() は 0 を戻します。

正常に実行されなかった場合、fesetenv() は -1 を戻して、次のいずれかの errno 値を設定します。

エラー・コード
説明
EINVAL
指定された丸めモードは有効な 10 進数浮動小数点の丸めモードではありません。
EMVSERR
内部エラーのため、関数は指定された丸めモードを設定できませんでした。

関連情報