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


OpenVMS マニュアル


 

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

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

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


目次 索引




均一に分布した擬似乱数シーケンスを生成します。 48 ビットの負でない倍精度浮動小数点数値を返します。

形式

#include <stdlib.h>

double drand48 (void);


説明

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

0.0 <= y < 1.0 の範囲で均一に分布した,負でない倍精度浮動小数点数値を返します。

drand48を呼び出す前に, srand48seed48lcong48のいずれかを使用して,乱数ジェネレータを初期化します。 drand48関数を起動する前に初期化が必要なのは,最後に生成された 48 ビット Xi が内部バッファに格納されるからです ( 推奨できる方法ではありませんが,最初に初期化関数を呼び出さずに, drand48lrand48mrand48関数のいずれかを呼び出した場合,一定のデフォルト初期化値が自動的に与えられます )。

drand48関数は,線形合同公式に従って, 48 ビット整数値 Xi のシーケンスを生成することにより動作します。

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

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

     a = 5DEECE66D16 = 2736731631558
     c = B16 = 138

drand48から返される値は,シーケンス内の次の 48 ビット Xi を最初に生成することにより計算されます。その後,返されるデータ項目の型に従って,適切なビットが Xi の上位 (最上位) ビットからコピーされ,戻り値に変換されます。

srand48seed48lcong48lrand48mrand48も参照してください。


戻り値

n 負でない倍精度浮動小数点数値。


目次 索引

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