日本-日本語 |
|
|
|
OpenVMS マニュアル |
|
HP OpenVMS
|
目次 | 索引 |
erand48 |
均一に分布した擬似乱数シーケンスを生成します。 48 ビットの負でない倍精度浮動小数点数値を返します。
#include <stdlib.h>double erand48 (unsigned short int xsubi[3]);
xsubi
3 つの short intの配列。結合すると 48 ビット整数が作成されます。
erand48関数は,線形合同アルゴリズム (linear congruential algorithm) および 48 ビット整数演算を使用して,擬似乱数を生成します。0.0 <= y < 1.0 の範囲で均一に分布した負でない倍精度浮動小数点数値を返します。
erand48関数は,線形合同公式に従って, 48 ビットの整数値 Xi のシーケンスを生成することにより動作します。
Xn+1 = (aXn+c)mod m n >= 0
引数 m は 248 に等しいため, 48 ビットの整数演算が実行されます。 lcong48関数を呼び出した場合を除き,乗数値 a と加数値 c は次のようになります。
a = 5DEECE66D16 = 2736731631558 c = B16 = 138
erand48関数を使用する場合,呼び出し元のプログラムは xsubi 引数として配列を渡さなければなりません。最初の呼び出しでは,配列を擬似乱数シーケンスの値に初期化しなければなりません。 drand48関数と異なり,最初の呼び出しの前に初期化関数を呼び出す必要はありません。
erand48関数では,異なる引数を使用することにより,大きなプログラムの個別のモジュールが複数の独立した擬似乱数シーケンスを生成することができます。たとえば,1 つのモジュールが生成する乱数シーケンスは,他のモジュールから関数が呼び出される回数に依存しません。
n 負でない倍精度浮動小数点数値。
目次 | 索引 |
|