マニュアルページ fegetround.3m
名前
fesetround, fegetround - 浮動小数点丸め方向モードの制御
形式
cc [ flag ... ] file ... -R/opt/SUNWspro/lib
-L/opt/SUNWspro/lib -lm9x [ library ... ]
#include <fenv.h>
int fesetround(int round);
int fegetround(void);
#include <fenv96.h>
int fesetround96(int round);
機能説明
fesetround(round) は、現在の丸め方向を round で指定した方 向
に 設定します。round で指定する方向は、次の値 (<fenv.h> に定
義されている) の
1 つでなければなりません。
FE_TONEAREST 最近似値に丸める
FE_UPWARD 正の無限量に向かって丸める
FE_DOWNWARD 負の無限量に向かって丸める
FE_TOWARDZERO ゼロに向かって丸める
デフォルトの方向は FE_TONEAREST です (-fround コンパイラフラ
グで変更していない限り)。
fegetround() は、現在の丸め方向を戻します。
戻り値
fesetround は、要求した丸めモードが確立された場合にはゼロ を
返し、そうでない場合はゼロ以外の値を返します。
属性
次の属性については、 attributes(5) を参照してください。
______________________________________________
| 属性タイプ | 属性値 |
|_____________________|_______________________|
| 使用条件 | SPROm9xs |
| インタフェース安定性| 標準、廃止 (次を参照)|
| MT レベル | MT-安全 |
|_____________________|_______________________|
fesetround 及び fegetround 関数は C99 規格で定義されて い ま
す。この関数のインタフェース安定性は「標準」です。
これらの関数がはじめて実装された 1996 年の C99 規格の草案 で
は、 fesetround は、要求した丸めモードが確立されている場合に
はゼロ以外の値を返し、それ以外はゼロを返すと規定されていまし
た。つまり、最終的な定義とは逆の内容が規格に盛り込まれたわけ
です。規格草案の変更に対応できるように、当時の libm9x には、
C99 規 格草案に準拠した関数 fesetround96 が用意されていまし
た。"96" が接尾辞のこの関数は、<fenv96.h>ファイルで宣言さ れ
ま した。現在では C99 は完成し、これらの接尾辞付き関数および
<fenv96.h> ヘッダーファイルは必要なくなりました。この関数 の
インタフェース安定性は「廃止」です。
<fenv96.h> ヘッダーファイルは今後のリリースでは削除 さ れ ま
す。アプリケーションは標準関数と <fenv.h> ヘッダーファイルを
代わりに使用します。
関連項目
fegetenv(3M), fesetprec(3M), attributes(5)
『 数値計算ガイド』
注意事項
「形式」で示しているように、cc で libm9x とリンクするため に
は、コマンド行で次のように指定することを推奨します。
-Rinstall-path/lib -Linstall-path/lib -lm9x
install-path には、コンパイラがインストールされている場所 を
指 定します (デフォルトでは、/opt/SUNWspro)。libm9x とリンク
する方法についての詳細は、『数値計算ガイド』を参照してくださ
い。