擬似乱数at TECH
擬似乱数 - 暇つぶし2ch13:デフォルトの名無しさん
06/04/28 18:28:56
>>7
アルゴリズムじゃなくて、その実装(mt19937ar.c)のアラでよければ。

MTは内部状態として624個のベクトルを持ち、そこから乱数をひねり出す。
つまりはMTは624*32=19968ビットの乱数生成器で、
その19968ビットの乱数表から32ビットずつ取り出すのがgenrand_int32()関数ということができる。
で、genrand_int32()を624回呼ぶごとに内部のベクトルを一度に「えいや」と更新するようになっている。
大量の乱数が必要な場合は並列処理が効くのでこれでよいのだが、
中程度数の乱数がリアルタイムで必要となる場合、これはいただけない。
例えばゲームでMTを使うとすると、624回乱数を生成するごとにフレーム落ちが発生、ということもありうる。
genrand_int32()を1回呼び出すごとに1つのベクトルを更新するようにすれば
いつでも同じ時間で乱数が得られる。


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch