other versions
DRAND48(3) | Linux Programmer's Manual | DRAND48(3) |
名前¶
drand48, erand48, lrand48, nrand48, mrand48, jrand48, srand48, seed48, lcong48 - 一様分布する疑似乱数を生成する関数書式¶
#include <stdlib.h>double drand48(void);double erand48(unsigned short xsubi[3]);long int lrand48(void);long int nrand48(unsigned short xsubi[3]);long int mrand48(void);long int jrand48(unsigned short xsubi[3]);void srand48(long int seedval);unsigned short *seed48(unsigned short seed16v[3]);void lcong48(unsigned short param[7]);
glibc 向けの機能検査マクロの要件 ( feature_test_macros(7) 参照):
説明¶
これらの関数は線形合同アルゴリズムと 48ビット整数演算を用いて 疑似乱数を生成する。 関数 drand48() と erand48() は、区間 [0.0, 1.0) で 一様分布する非負の倍精度浮動小数点実数値を返す。 関数 lrand48() と nrand48() は 0 と 2^31 の間で一様分布する 非負のロング整数を返す。 関数 mrand48() と jrand48() は -2^31 と 2^31 の間で一様分布する符号付きロング整数を返す。 関数 srand48(), seed48(), lcong48() は初期化関数 である。 関数 drand48(), lrand48(), mrand48() を 使用する前に、これらの初期化関数のいずれかを呼ぶべきである。 関数 erand48(), nrand48(), jrand48() は初めに 初期化関数を呼ぶことを必要としない。 ここで説明しているすべての関数は 48ビットの整数の シーケンス ( Xi) を生成することで 機能している。生成方法は以下の線形合同の式による。Xn+1 = (aXn + c) mod m,
a = 0x5DEECE66D c = 0xB
準拠¶
SVr4, POSIX.1-2001.注意¶
SVID 3 ではこれらの関数は時代遅れと宣言されている。 SVID 3 では rand(3) が代わりに使用されるべきだと記述されている。関連項目¶
rand(3), random(3)この文書について¶
この man ページは Linux man-pages プロジェクトのリリース 3.41 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。2007-07-26 |