Oracle® Solaris Studio 12.4:数值计算指南

退出打印视图

更新时间: 2015 年 1 月
 
 

3.5.2 舍入控制

fenv.h 文件为 4 个 IEEE 舍入方向模式中的每一个模式定义了宏:FE_TONEARESTFE_UPWARD(向正无穷大舍入)、FE_DOWNWARD(向负无穷大舍入)和 FE_TOWARDZERO。C99 定义了两个函数以控制舍入方向模式:fesetround 将当前的舍入方向设置为其参数指定的方向(必须是以上 4 个宏之一),而 fegetround 返回对应于当前舍入方向的宏值。

在基于 x86 的系统上,fenv.h 文件为 3 个舍入精度模式中的每一个模式定义宏:FE_FLTPREC(单精度)、FE_DBLPREC(双精度)和 FE_LDBLPREC(扩展双精度)。虽然它们不是 C99 的一部分,但 x86 上的 libm 提供了两个函数来控制舍入精度模式:fesetprec 将当前的舍入精度设置为其参数指定的精度(必须是以上 3 个宏之一),而 fegetprec 返回对应于当前舍入精度的宏值。