Math::Bigint::Ramdom

乱数をMath::BigInt オブジェクトで生成する。

use Math::BigInt::Random qw/random_bigint/;
パッケージをロードして、関数をエクスポートする。

my $random = random_bigint(...);
min => $min, max =>$max : $min以上$max以下の乱数を生成する。
length => $required_length : 指定した桁数の乱数を生成する。デフォルトでは10進桁数。
length_hex => 1 : lengthの桁数を16進桁数とみなす。
length_bin => 1 : lengthの桁数を2進ビット数とみなす。

Math::BigInt::Random::OO

乱数をMath::BigInt オブジェクトで生成する。
仕様変更により、生成速度が遅すぎて使いものにならなくなった。非推奨。

use Math::BigInt::Random::OO;
パッケージをロードする。

my $gen = Math::BigInt::Random::OO->new(min => $min, max =>$max);
$min以上$max以下の乱数を生成するMath::BigInt::Random::OOオブジェクトを生成する。
$min, $maxは、Math::BigIntを使用してよく、負の値でもよい。
$minを省略すると0が選択される。

my $rng = Math::BigInt::Random::OO->new(length_bin => 1024);
length_bin ビットの乱数を生成するMath::BigInt::Random::OOオブジェクトを生成する。
length_binビット未満の乱数は生成されない(最上位ビットは常に1)。

my $rng = Math::BigInt::Random::OO->new(length_hex => 128);
16進でlength_hex桁(length_hexが偶数ならlength_hex/2バイト)の乱数を生成するMath::BigInt::Random:::OOオブジェクトを生成する。
length_hex桁未満の乱数は生成されない(最上位ビットは常に1)。

my $random = $rng->generate($count);
乱数を生成して、Math::BigInt オブジェクトで返す。
$count = 生成個数(省略時は1)