RANDU

組込みサブルーチン:単精度値の擬似乱数を計算します。

形式

CALL RANDU (i1, i2, x)

i1, i2
乱数計算のための種子を含んでいる INTEGER(2) 変数または配列要素。これらの値は計算の際に更新され,更新された種子が格納されます。

x
計算された乱数が返される REAL(4) 変数または配列要素。

結果

結果は REAL(4) 型として x に返されます。結果の値は 0.0 ~ 1.0 の範囲の擬似乱数です。乱数値を計算するためのアルゴリズムは,i1i2 の値に基づいています。

i1=0 かつ i2=0 である場合,生成器の基数は次のように設定されます。

	x(n + 1 = 2**16 + 3)

それ以外の場合は,次のように設定されます。

	x(n + 1 = (2**16 + 3) * x(n) mod 2**32)

生成器の基数 x(n + 1)i1i2 に格納されます。結果は,0.0 <= y(n + 1) < 1 の条件を満たす実数値 y(n + 1) に大きさを合わされた x(n + 1) です。

	REAL X
	INTEGER(2) I, J
	...
	CALL RANDU (I, J, X)

IJ が値 46 である場合,X には値 5.4932479E-04 が格納されます。