Sun Studio 12:Fortran 编程指南

6.3.2 IEEE 极值函数

编译器提供了一个函数集,可以调用其中的函数来返回特殊的 IEEE 极值。这些值,如 infinityminimum normal,可以直接在应用程序中使用。

示例:基于硬件支持的最小数值的收敛测试如下所示:


      IF ( delta .LE. r_min_normal() ) RETURN

下表列出了可用的值:

表 6–3 返回 IEEE 值的函数

IEEE 值 

双精度 

单精度 

infinity

d_infinity()

r_infinity()

quiet NaN

d_quiet_nan()

r_quiet_nan()

signaling NaN

d_signaling_nan()

r_signaling_nan()

min normal

d_min_normal()

r_min_normal()

min subnormal

d_min_subnormal()

r_min_subnormal()

max subnormal

d_max_subnormal()

r_max_subnormal()

max normal

d_max_normal()

r_max_normal()

两个 NaN 值(quietsignaling)是无序的,不能用于比较,如 IF(X.ne.r_quiet_nan())THEN...。要确定某些值是否是 NaN,请使用函数 ir_isnan(r)id_isnan(d)

以下手册页列出了这些函数的 Fortran 名称:

另请参见: