タグ

ブックマーク / www001.upp.so-net.ne.jp (2)

  • 乱数ライブラリ

    2009年1月31日に64 bit Ubuntu を導入したので、 64 bit gcc での動作確認、性能評価、チューニングの作業をしました。 新しく開発しました(64 bit 非対応) jump.c.html : Xorshift で戻ったり一瞬で相対ジャンプできるプログラム 浮動小数点数に特化した乱数ライブラリ(SSE2対応) zdsfmt.zip : ライブラリ体一式 libZD.zip : エクセルのためのダイナミック・リンク・ライブラリ(DLL)一式 32ビット整数の生成は他のに比べ少し遅くなりますが、浮動小数点数の生成はかなり高速です。 元のメルセンヌ・ツイスタを使った乱数ライブラリ(SSE3対応) zmtrand.zip : ライブラリ体一式 libZMT.zip : エクセルのためのダイナミック・リンク・ライブラリ(DLL)一式 マクロ HAVE_SSE3 を定義して

  • 良い乱数・悪い乱数

    C言語標準ライブラリの乱数rand( )は質に問題があり、禁止している学会もある。 他にも乱数には様々なアルゴリズムがあるが、多くのものが問題を持っている。 最も多くの人に使われている乱数であろう Visual Basic の Rnd の質は最低である。 そもそも乱数とは 乱数とは、来サイコロを振って出る目から得られるような数を意味する。 このような乱数は予測不能なものである。 しかし、計算機を使って乱数を発生させた場合、 次に出る数は完全に決まっているので、予測不能とはいえない。 そこで、計算機で作り出される乱数を疑似乱数(PRNG)と呼び区別することがある。 ここでは、特にことわらない限り乱数とは疑似乱数のことを指すとする。 計算機でソフト的に乱数を発生させることの最大のメリットは、 再現性があることである。 初期状態が同じであれば、発生する乱数も全く同じものが得られる。 このことは

  • 1