6. 話さないこと • • • std::rand() 数学的な詳細 エンジンアダプタ • discard_block_engine(Boost, C++11) • shuffle_order_engine(Boost, C++11) • independent_bits_engine(Boost, C++11) • addive_combine_engine(Boost) • xor_combine(Boost) 8. 基本的な使い方 • 以下は、メルセンヌ・ツイスター擬似乱数生成器と一様整数分布を使用し て、[0, 3](0以上3以下、と読む)の値を等確率で分布させる処理。 using namespace boost::random; random_device seed_gen; mt19937 engine(seed_gen()); uniform_int_distribution
おはようございます。2年ぶりの記事ですね。 もう1月程前になってしまいましたが、id:sleepy_yoshi:20130720 で id:sleepy_yoshi さんが高速な非復元抽出をやっておられ、その中で、Cのrand関数を使っておられました。僕は、普段、std::mt19937を使っていたので、ちょっと比較してみた、という記事です。 C++11では、大別して、2つの擬似乱数生成の方法があります。1つはC(cstdlib)のrand関数で、高速ですが乱数の質が低く、もう1つはrandomヘッダのmt19937(メルセンヌ・ツイスタ)で、低速ですが乱数の質が高い(科学実験に適する)と、一般には思われていると思います。この高速・低速ですが、mt19937を使うことがボトルネックになるほど遅いことは殆どない、というのが今までの実感でした。なので、僕は、非復元抽出のような処理では、特にボト
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く