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
関連情報
例
RAN (I) で,変数 I の値が 3 の場合,RAN の値は 4.8220158E-05 となります。
実行時関数:一様分布から 0 以上で 1 より小さい擬似乱数を返します。
形式
result = RAN (iseed)
iseed
(入力) INTEGER(4)。乱数生成器に対する種子です。
結果
結果の型は REAL(4) です。結果は,0 <= x < 1 の擬似乱数です。
プログラムの各実行で異なった乱数値になることを保証するには,iseed に異なった初期値 (たとえば,システム時間からデータを読み込む) を使うようにします。引数 iseed は,最初大きな,奇数の整数値に設定すべきです。RAN は,次の乱数を後で計算するときに使うために引数 iseed を保存します。
手続 RANDOM,RAN および RANDOM_NUMBER と可搬用関数 DRAND,DRANDM,RAND,IRANDM,RAND および 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
関連情報
例
INTEGER(4) iseed REAL(4) rnd iseed = 425001 rnd = RAN(iseed)