[前:SplitMix64とXorshiftを組み合わせる]
[ExRand目次]
[次:性能評価]
[QNX]SplitMix64とXorshiftを組み合わせる(高機能版)
目次
[qnx]SplitMix64とXorshiftを組み合わせる(高機能版)
高機能版は既定では qnc.h と同じ系列を生成します。
加えて、高機能版は xorshift 部分のパラメータを変更できます。
xorshift のパラメータは A から V までの22種類が選べます。
既定のパラメータは U です。これは xorshift の種の数が10です。
A の種の数は3です。
B,C,D,E,F,G,H,I の種の数は4です。
J,K の種の数は5です。
L,M の種の数は6です。
N,O,P の種の数は7です。
Q,R,S の種の数は8です。
T の種の数は9です。
U,V の種の数は10です。
コンパイル時に -DXIDA または -DXNSD3 とするとパラメータを A に変更できます。
同様に -DXIDB とするとパラメータを B に変更できます。
-DXIDC または -DXNSD4 とするとパラメータは C になります。
-DXIDK または -DXNSD5 とするとパラメータは K になります。
-DXIDM または -DXNSD6 とするとパラメータは M になります。
-DXIDN または -DXNSD7 とするとパラメータは N になります。
-DXIDS または -DXNSD8 とするとパラメータは S になります。
-DXIDT または -DXNSD9 とするとパラメータは T になります。
-DXIDU または -DXNSD10 とするとパラメータは U になります。
また、高機能版はジャンプしたり、文字列で初期化する機能も加えてあります。
しかし、高機能版には機械語版はありません。
多くのコンパイラでコンパイル可能です。
define.h, xgf2.h, xgf2.c はこちら
[QSX]組込み関数を使ったSSE2バージョン
gcc, clang, vc2002 .. vc2022 でコンパイル可能です。
define.h, bincode.h, xgf2.h, xgf2.c はこちら
bincode.h は Visual C++2002 と Visual C++ 2003 でのみ必要です。
[QAX]組込み関数を使ったAVX2バージョン
gcc, clang VC++2013 .. VC++2022 でコンパイル可能です。
define.h, xgf2.h, xgf2.c はこちら
[QBX]組込み関数を使ったAVX512バージョン
gcc, clang VC++2017 .. VC++2022 でコンパイル可能です。
define.h, xgf2.h, xgf2.c はこちら
[前:SplitMix64とXorshiftを組み合わせる]
[ExRand目次]
[次:性能評価]