Sun Studio 12: Fortran プログラミングガイド

6.3.2 IEEE 極値関数

コンパイラは、特別な IEEE 極値を返すために呼び出すことができる関数のセットを提供します。無限大最小の正規化数などの値は、アプリケーションプログラムの中で直接使用できます。

例: 収束のテストはハードウェアによってサポートされる最小数に基づき、次のようになります。


      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()

2 つの NaN 値 (quietsignaling) は順序がないものなので、IF(X.ne.r_quiet_nan())THEN... のように比較の中で使用してはいけません。値が NaN であるかどうかを判別するときは、ir_isnan(r)id_isnan(d) 関数を使用します。

これらの関数の Fortran 名は、次のマニュアルページにリストされています。

また、次も参照してください。