RAN

RAN組込み関数として,または実行時ルーチンとして使うことができます。


RAN 組込み関数

非要素別処理組込み関数 (個別):範囲 0 ~ 1 に一様分布する擬似乱数列から次の数値を返します。

これは総称関数が結合されていない個別関数です。この関数を実引数として渡すことはできません。これは純粋関数ではないので,FORALL 構文中で引用することはできません。

形式

result = RAN (i)

i
(入力) INTEGER(4) 変数か配列要素。

これは初期状態では,大きな奇数の整数値に設定されなくてはなりません。RAN 関数は,後に次の乱数を計算するために使用される値を引数に格納します。

種子値に関しては制約はありませんが,関数を実行するたびに,異なる乱数を得るために異なる値で初期化しなければなりません。

結果

結果の型は REAL(4) です。結果は,0.0 <= x < 1.0 の範囲に一様分布する浮動小数点数です。これは引数 i に結合された値と等しい値に設定されます。

互換性

CONSOLE STANDARD GRAPHICS QUICKWIN GRAPHICS WINDOWS DLL LIB

関連情報

RANDOMRANDOM_NUMBER

RAN (I) で,変数 I の値が 3 の場合,RAN の値は 4.8220158E-05 となります。


RAN 実行時ルーチン

実行時関数:一様分布から 0 以上で 1 より小さい擬似乱数を返します。

形式

result = RAN (iseed)

iseed
(入力) INTEGER(4)。乱数生成器に対する種子です。

結果

結果の型は REAL(4) です。結果は,0 <= x < 1 の擬似乱数です。

プログラムの各実行で異なった乱数値になることを保証するには,iseed に異なった初期値 (たとえば,システム時間からデータを読み込む) を使うようにします。引数 iseed は,最初大きな,奇数の整数値に設定すべきです。RAN は,次の乱数を後で計算するときに使うために引数 iseed を保存します。

手続 RANDOMRAN および RANDOM_NUMBER と可搬用関数 DRANDDRANDMRANDIRANDMRAND および RANDOM は,同じアルゴリズムを使用しているので,同じ結果を返します。これらは,すべて互換性があり,交換可能です。(使用するアルゴリズムは,『Random Number Generators: Good Ones Are Hard to Find』(CACM, October 1988, Vol. 31, No. 10.) に掲載されている Park と Miller の書いた『Prime Modulus M Multiplicative Linear Congruential Generator』の乱数生成器の修正バージョンです。)

互換性

CONSOLE STANDARD GRAPHICS QUICKWIN GRAPHICS WINDOWS DLL LIB

関連情報

RANDOMRANDOM_NUMBER

	INTEGER(4) iseed
	REAL(4) rnd
	iseed = 425001
	rnd = RAN(iseed)