rand は 0.0 から 1.0 の範囲の実数値の乱数を戻します。
drand は 0.0 から 1.0 の範囲の倍精度値の乱数を戻します。
irand は 0 から 2147483647 の範囲の正の整数値の乱数を戻します。
これらの関数は、random(3) を使用して乱数の列を発生させます。これらの 3 つの関数は、同じ 256 バイトの状態配列を共有します。3 つの関数の唯一の利点は、UNIX システムで幅広く利用できることです。乱数を生成するさらに優れた関数としては、lcrans、addrans、および shufrans があります。random(3) および『数値計算ガイド』も参照してください。
i = irand( k ) r = rand( k ) d = drand( k ) |
|||
k |
INTEGER*4 |
入力 |
k=0: 次の乱数を乱数列から取り出す k=1: 乱数列を再開し、最初の数を戻す k>0: 新しい乱列数の種として使用し、最初の 数を戻す |
rand |
REAL*4 |
出力 | |
drand |
REAL*8 |
出力 | |
irand |
INTEGER*4 |
出力 |
例: irand():
demo% cat trand.f integer*4 v(5), iflag/0/ do i = 1, 5 v(i) = irand( iflag ) end do write(*,*) v end demo% f95 trand.f demo% a.out 2078917053 143302914 1027100827 1953210302 755253631 demo% |