日本-日本語
日本HPホーム 製品 & サービス OpenVMS製品情報
≫  お問い合わせ


OpenVMS マニュアル


 

OpenVMS ドキュメント
ライブラリ

タイトル
目次
まえがき
リファレンス・セクション
   ≫ライブラリ関数一覧
索引
PDF
OpenVMS ホーム

HP OpenVMS
HP C ランタイム・ライブラリ・リファレンス・マニュアル (下巻)


目次 索引




一様分布の擬似乱数列を生成します。48 ビットの符号付き long 整数を返します。

形式

#include <stdlib.h>

long int nrand48 (unsigned short int xsubi[3]);


引数



xsubi

連結されたときに 48 ビット整数となる,3 つの short intの配列。

説明

nrand48関数は,線形合同法アルゴリズムと 48 ビット整数算術演算を使用して,擬似乱数を生成します。

nrand48関数は, 0 <= y < 231 の範囲内で一様に分布する,負でない long 整数を返します。

この関数は,次の線形合同式に従って,48 ビットの整数値 Xi のシーケンスを生成します。

       Xn+1 = (aXn+c)mod m        n >= 0 

引数 m は 248 に等しいので, 48 ビット整数算術演算が実行されます。 lcong48関数を呼び出さなかった場合,乗数値 a と加算される値 c は次のようになります。

      a = 5DEECE66D16 = 2736731631558
      c = B16 = 138

nrand48関数では,呼び出し元プログラムが, xsubi 引数として,最初の呼び出しの時点で擬似乱数列の初期値に初期化された配列を渡す必要があります。 drand48関数とは異なり,最初の呼び出しの前に初期化関数を呼び出す必要はありません。

nrand48では,異なる引数を使用することで,大きなプログラムの個々のモジュールが,複数の互いに独立した擬似乱数列を生成することができます。たとえば,1 つのモジュールが生成する乱数列は,関数が他のモジュールから呼び出された回数には依存しません。


戻り値

n 0 <= y < 2 31 の範囲で一様分布する,負でない long 整数を返します。


目次 索引

© 2012 Hewlett-Packard Development Company, L.P.