Location : Home > Languages > Perl > Package Title : Math::Rand48 |
![]() |
Math::Rand48 - 48bit系乱数生成関数とのインタフェースを提供する。
use Math::Rand48; my $n = drand48(); # [0.0,1.0) の乱数 my $seed = seed48(); # drand48, lrand48, mrand48 への種を設定 my $m = erand48($seed); # 種を変更した [0.0,1.0) の乱数 seed48($seed); # drand48, lrand48, mrand48 への種を設定 use Math::Rand48 qw(lrand48); my $un = lrand48(); my $um = nrand48($seed);
本パッケージは UNIX システムに標準的に提供されている 48bit系乱数生成関数とのインタフェースを提供する。
seed48
drand48, lrand48, mrand48 により用いられた現在の種を返す。引数を指定した場合にはその値を種に設定する。
drand48
erand48($seed)
[0.0,1.0) の範囲の数を返す。erand48 を用いて複数の独立した乱数の列が得られる。
lrand48
nrand48($seed)
[0,2**31) の範囲の整数を返す。nrand48 を用いて複数の独立した乱数の列が得られる。
mrand48
jrand48($seed)
[-2**31,2**31) の範囲の整数を返す。jrand48 を用いて複数の独立した乱数の列が得られる。
上述の $seed は Perl のスカラーである。利用する際には、これらは6バイトの文字列に変換される。入力値が6バイト以下ならば 0xFF で埋められる。入力値が6バイト以上であれば Perl のハッシュ関数を用いて 0xFF 2バイト分で埋められた32ビットの値に変換される。入力値が4バイトの整数であれば2バイト分は 0xFF で埋められる。
Nick Ing-Simmons, <nick@ni-s.u-net.com>
![]() |
Updated : 2006/06/10 |