fesetprec(3M)

名前
fesetprec, fegetprec - 浮動小数点丸め精度モードの制御

形式

cc [ flag ... ] file ... -R/opt/SUNWspro/lib -L/opt/SUNWspro/lib -lm9x [ library ... ]

#include <fenv.h>

int fesetprec(int prec);

int fegetprec(void);

機能説明

IEEE 754 規格は、常に拡張倍精度形式で中間結果を宛先に配送するシステムに 対して、丸め精度モードを定義します。このように定義されたモードにより、このよう なシステムでも 1 つの丸めだけで (アンダーフローやオーバフローせずに) 正しく丸め られた単精度および倍精度の結果を提供できます。

fesetprec(prec) は、現在の丸め精度を prec で指定した精度に設 定します。prec で指定する精度は、次の値 (<fenv.h> に定義されている) の 1 つでなければなりません。

    FE_FLTPREC
        単精度に丸める
    FE_DBLPREC
        倍精度に丸める
    FE_LDBLPREC
        拡張倍精度に丸める

デフォルトの精度は FE_LDBLPREC です (-fprecision コンパイラフラグ で変更していない限り)。

fegetprec() は、現在の丸め精度を戻します。

戻り値
fesetprecは、要求した丸めモードが確立された場合にはゼロ以外の値を戻し、 そうでない場合はゼロを戻します。

属性
次の属性については、 attributes(5) を参照してください。

属性タイプ | 属性値
アーキテクチャ | Intel (次を参照)
使用条件 | SPROm9xs
インタフェース安定性 | 安定 (次を参照)
MT レベル | MT-安全

SPARC プロセッサはそれぞれの浮動小数点命令で決められている単精度または倍精度の形 式で中間結果を宛先に提供するため、これらの関数は SPARC システムでは利用できま せん。

関連項目
fegetenv(3M), fesetround(3M), attributes(5)

『 数値計算ガイド 』

注意事項
「形式」で示しているように、cc で libm9x とリンクするためには、コマンド 行で次のように指定することを推奨します。

    -Rinstall-path/lib -Linstall-path/lib -lm9x

install-path には、コンパイラがインストールされている場所を指定します (デフォルトでは、/opt/SUNWspro)。libm9x とリンクする方法についての詳細は、 『数値計算ガイド』を参照してください。