Oracle® Solaris Studio 12.4: 数値計算ガイド

印刷ビューの終了

更新: 2015 年 1 月
 
 

3.5.2 丸めの制御

fenv.h ファイルは、FE_TONEARESTFE_UPWARD (正の無限大に向けて)、FE_DOWNWARD (負の無限大に向けて)、FE_TOWARDZERO という 4 つの各 IEEE 丸め方向モードのためのマクロを定義します。C99 では、丸め方向モードを制御するための 2 つの関数が定義されています。fesetround は、現在の丸め方向を引数 (上の 4 つのマクロのいずれかである必要があります) によって指定された方向に設定し、fegetround は現在の丸め方向に対応するマクロの値を返します。

x86 ベースのシステムでは、fenv.h ファイルは、FE_FLTPREC (単精度)、FE_DBLPREC (倍精度)、FE_LDBLPREC (拡張倍精度) という 3 つの各丸め精度モードのためのマクロを定義します。C99 には含まれていませんが、x86 上の libm は、丸め精度モードを制御するための 2 つの関数を提供します。fesetprec は、現在の丸め精度を引数 (上の 3 つのマクロのいずれかである必要があります) によって指定された精度に設定し、fegetprec は現在の丸め精度に対応するマクロの値を返します。