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

Xorshift


超高速疑似乱数生成器だそうで、
とにかくちょっぱや、省エネ、

unsigned long xor128(){
  static unsigned long x=123456789,y=362436069,z=521288629,w=88675123;
  unsigned long t;
  t=(x^(x<<11));x=y;y=z;z=w; return( w=(w^(w>>19))^(t^(t>>8)) );
}

こんだけ。
ランダム性もそれなりらしい。
愚直に100ということにして、
6と10でmodを見てみたら、

0:28
1:13
2:17
3:10
4:19
5:13

0:12
1:5
2:15
3:8
4:6
5:4
6:17
7:10
8:14
9:9

こんな感じ。
もうちょっとうまく値を使ってあげればうまいこと使えるかも。
まぁ、ここまでちょっぱやである必要性はないんだけどね。