Location : Home > Languages > Perl > Package Title : Math::Random::TT800 |
![]() |
Math::Random::TT800 - TT800 法による擬似乱数生成
この perl 拡張モジュールは松本の TT800 と呼ばれる twisted generalized shift register 生成アルゴリズムを実装した。論文は ACM Transactions on Modelling and Computer Simulation, Vol. 4, No. 3, 1994, pages 254-266 に掲載されている。
use Math::Random::TT800; my $tt = new Math::Random::TT800; $value = $tt->next(); $ivalue = $tt->next_int();
new
my $tt = new Math::Random::TT800; my $tt = new Math::Random::TT800 @seeds;
新たな TT800 オブジェクトを生成する。種はオプションでつけてもよい。TT800 では25個の整数を種としてとる(ただし全部0であってはいけない)。もし種の個数が25個に満たなければ残りはデフォルトの種が設定される。
next
$value = $tt->next();
TT800 オブジェクトから得られる次の擬似乱数を[0,1) の範囲の浮動小数点値として返す。
next_int
$ivalue = $tt->next_int();
next_int は32個のランダムビットで示される整数値を返す。
ftp://random.mat.sbg.ac.at/pub/data/tt800.c で入手可能な、松本 <matumoto@math.keio.ac.jp> による C のコードを元に実装した。 【解説】
Perl 拡張モジュールへの移植と擬似乱数の複数ストリームへの拡張は Otmar Lendl
Copyright (c) 1997 by Otmar Lendl (Perl and XS code). All rights reserved.
本プログラムはフリーソフトウェアであり、Perl 本体と同等の条件で修正・再配布してもよい。
Updated : 2006/09/01