日本-日本語 |
|
|
|
OpenVMS マニュアル |
|
HP OpenVMS
|
目次 | 索引 |
seed48 |
48 ビットの乱数ジェネレータを初期化します。
#include <stdlib.h>unsigned short *seed48 (unsigned short seed_16v[3]);
seed_16v
48 ビットのシード値を構成する, 3 つの unsigned short intの配列。
seed48関数は乱数ジェネレータを初期化します。この関数は,プログラム内で drand48, lrand48,または mrand48関数を呼び出す前に使用することができます ( これは推奨はされませんが, drand48, lrand48,または mrand48関数が,初期化関数を呼び出すことなく呼び出された場合には,定数のデフォルト・イニシアライザ値が自動的に提供されます)。seed48関数は,次の線形合同式に従って, 48 ビットの整数値 Xi のシーケンスを生成します。
Xn+1 = (aXn+c)mod m n > 0
引数 m は 248 に等しいので, 48 ビット整数算術演算が実行されます。 lcong48関数を呼び出さなかった場合,乗数値 a と加算される値 c は次のようになります。
a = 5DEECE66D16 = 2736731631558 c = B16 = 138
初期化関数 seed48は,次の処理を行います。
- Xi の値を, seed_16v がポイントする配列で指定された 48 ビット値に設定する。
- seed48のみが使用する, Xi の前の値を含んでいる 48 ビットの内部バッファへのポインタを返す。
返されたポインタを使用して,任意の時点で擬似乱数シーケンスを再開することができます。このポインタを使って,前の Xi 値を一時的配列にコピーしてください。元のシーケンスが中断した場所から再開するには,この配列へのポインタを指定して seed48を呼び出します。
drand48, lrand48,および mrand48も参照してください。
x 48 ビットの内部バッファへのポインタ。
目次 | 索引 |
|