タグ

xorshiftに関するyassのブックマーク (7)

  • xoshiro/xoroshiro generators and the PRNG shootout

    Introduction This page describes some new pseudorandom number generators (PRNGs) we (David Blackman and I) have been working on recently, and a shootout comparing them with other generators. Details about the generators can be found in our paper. Information about my previous xorshift-based generators can be found here, but they have been entirely superseded by the new ones, which are faster and b

  • 乱数ライブラリ

    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 を定義して

  • Replacing the Java random generator

    yass
    yass 2013/03/10
    "about 30% faster than the generator from java.util.random."
  • XORShift vs Random performance in Java

    yass
    yass 2013/03/10
    "7 times faster!"
  • 6.6. まとめ

    乱数の質を重視する場合 mt19937ar、長周期のSFMT、長周期のWELL(WELLのサイトからより長周期のものを得るべきである)あるいは長周期のmt-liteが、次元均等分布に優れる。 なお、いずれも暗号用途に直接使用するべきではない。 速度を重視する場合 乱数の質を度外視してよいなら、ほとんどの場合LCGが最速である。 x86アーキテクチャのSSE命令またはPowerPCアーキテクチャのAltiVec命令を使用可能ならば、SFMTがよい選択肢である。特に大量の乱数を必要とする場合は、block版を用いるのがよい。 SSEまたはAltiVecを使用できないならば、大量の乱数を生成するなら調律のないblock版mt-lite、さもなければxor128を用いるのがよいだろう。ただし、アーキテクチャによって傾向に差異があるため、実際の環境で速度を測定して選択するか、もしくは項6.3. 「実

  • いきちがいのぷろぐらむあ - 雑記/2010-01-26 - 2010-1-26[火] xorshift乱数のメモ

    XorShift乱数は、こちらとかのように短い関数で紹介されるけれど、たいていシード固定で書かれていて、シードを外部から与えたい場合はどうしたら、と悩んでしまう. もちろん、ちょっとぐぐったらシード設定できるソース載せてるサイトあるし、 おおもとのpaper に all 0でなければよいようなことかいてあるようだけど、 どの程度適当でよいのか不安にもなる. で、今さらながら2chの擬似乱数2 をみたら76に解説&seed設定付ソースがあった. シードは極端な設定をすると不自然な部分列が出力されるからMTのを参考にしたとある. ありがたく、これ流用させていただくことに... と、よくよくみれば、ここの初期化とほぼ同じ(改良版)のよう. その他、検索したときのサイトメモ. mt-liteの実行速度に xorshiftを含む各種乱数の速度比較あり. 良い乱数・悪い乱数に XorShiftと他の乱

  • へ、変態っ!!読めないからやめてっ!bit使ったデータ構造・アルゴリズム実装集 - Negative/Positive Thinking

    この記事はCompetitive Programming Advent Calendar Div2012の2日目の記事です。 12月20日追記: Darseinさんが20日目の記事で、ビット演算についての詳しい説明を紹介してくださっています!必読ですね!!!!:) はじめに Y^´       ∨// /,∠ ,. ' /l/// /, ' , '/ ! | l }´     〈 〉    変  〈/ , ' // ̄`>< /// /// _,.=‐|'"´l l〈  変  / 〈    態.   ∨, '/l|   ,.'-‐、`//`7/  /''"´__ | ハ l丿  態   { 人)   ! !   (/!  |ヽ〈_ ・.ノ〃  〃 /  '/⌒ヾ.! ,' !く   ! !  (_ ト、__/   ヽ、_,.イ    /l l |:::::::```/:::::/...´..

    へ、変態っ!!読めないからやめてっ!bit使ったデータ構造・アルゴリズム実装集 - Negative/Positive Thinking
  • 1