Sun Studio 12:Fortran 库参考

1.4.41 randdrandirand:返回随机值

rand 返回介于 0.0 到 1.0 之间的实数值。

drand 返回介于 0.0 到 1.0 之间的双精度值。

irand 返回介于 0 到 2147483647 之间的正整数。

这些函数使用 random(3) 生成随机数序列。这三个函数共用同一个 256 字节的状态数组。这些函数的唯一优点是它们可以广泛用于 UNIX 系统上。要获得更好的随机数生成器,请比较 lcransaddransshufrans。另请参见 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%