Boost.RandomにThreefryを入れる議論
「並列乱数アルゴリズムThreefry」で簡単に解説したThreefryを、Boost.Randomに入れる議論が行われている。Threefryアルゴリズムを考案したJohn Salmonさんも議論に参加している。
争点となっているのは、Threefryのようなカウンターベースの乱数生成器に、新たなコンセプト(インタフェース)を必要とするかどうか。
- カウンタベース乱数生成器はステートレスという特性があるため、discardがO(1)計算量で求まり、これを重要視するかどうか、とか。(Boost.Randomの現メンテナであるSteven Watanabeは、とくに重要じゃないと考えている)
- 新たなコンセプトを作る場合、どのようにして分布クラスと組み合わせるのか、とか。参照実装であるRandom123ライブラリでは、カウンタベース乱数生成器コンセプトのクラスを、標準の乱数生成器コンセプトにアダプトする機構があるので、それを使えばいける、とか。