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)