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