Next: , Previous: , Up: Integer Functions   [Index]


5.13 乱数関数

GMPの乱数関数は,2つのグループに分類されます。一つは古い関数で,グローバル変数に乱数の状態を保存するタイプ,もう一つは進化した新しいグループで,読み書きされる状態変数をパラメータとして受け取るタイプです。利用方法や使うべきではない乱数関数についての詳細はRandom Number Functionsを参照して下さい。

Function: void mpz_urandomb (mpz_t rop, gmp_randstate_t state, mp_bitcnt_t n)

0以上2^n-1以下の一様整数乱数を生成します。

この関数を使う前に,変数stategmp_randinit関数群のどれか一つで初期化されていなければなりません (Random State Initialization)。

Function: void mpz_urandomm (mpz_t rop, gmp_randstate_t state, const mpz_t n)

0以上n-1以下の一様整数乱数を生成します。

この関数を使う前に,変数stategmp_randinit関数群のどれか一つで初期化されていなければなりません (Random State Initialization)。

Function: void mpz_rrandomb (mpz_t rop, gmp_randstate_t state, mp_bitcnt_t n)

0と1がランダムに並ぶ長い2進表現列を生成します。関数やアルゴリズムに潜む発現しづらいバグを見つけるために役立つ乱数です。生成される乱数の範囲は2^n-1以上,2^n-1以下です。

この関数を使う前に,変数stategmp_randinit関数群のどれか一つで初期化されていなければなりません (Random State Initialization)。

Function: void mpz_random (mpz_t rop, mp_size_t max_size)

max_sizeリムを使用する整数乱数を生成します。但し,この乱数はランダム性に関しては保証されません。負の乱数を生成したい時にはmax_sizeを負数に設定します。

この関数は廃止予定です。mpz_urandomb関数か,mpz_urandomm関数を使って下さい。

Function: void mpz_random2 (mpz_t rop, mp_size_t max_size)

0と1がランダムに並ぶ,max_sizeリム長の2進表現の整数を生成します。関数やアルゴリズムに潜む発現しづらいバグを見つけるために役立つ乱数です。負の乱数を生成したい時にはmax_sizeを負数に設定します。

この関数は廃止予定です。 mpz_rrandomb関数を使って下さい。