読者です 読者をやめる 読者になる 読者になる

Boost.RandomにThreefryを入れる議論

C++

並列乱数アルゴリズムThreefry」で簡単に解説したThreefryを、Boost.Randomに入れる議論が行われている。Threefryアルゴリズムを考案したJohn Salmonさんも議論に参加している。

争点となっているのは、Threefryのようなカウンターベースの乱数生成器に、新たなコンセプト(インタフェース)を必要とするかどうか。

  • カウンタベース乱数生成器はステートレスという特性があるため、discardがO(1)計算量で求まり、これを重要視するかどうか、とか。(Boost.Randomの現メンテナであるSteven Watanabeは、とくに重要じゃないと考えている)
  • 新たなコンセプトを作る場合、どのようにして分布クラスと組み合わせるのか、とか。参照実装であるRandom123ライブラリでは、カウンタベース乱数生成器コンセプトのクラスを、標準の乱数生成器コンセプトにアダプトする機構があるので、それを使えばいける、とか。