Random 什么是随机数生成的快速模替换?

Random 什么是随机数生成的快速模替换?,random,modulo,Random,Modulo,目前我正在使用一种非常快速的XorShift算法: inline uint r() { static uint y = 2463534242u; // seed y ^= (y<<13); y ^= (y>>17); y ^= (y<<5); return y; } 但这是缓慢的。有没有更快的办法 PS 区间内不同数字的概率的一个小不等式是可以接受的。xorshiftr函数看起来很像。如何定义慢?DIV指令可以用于此目的,它在现代x86(

目前我正在使用一种非常快速的XorShift算法:

inline uint r() {
  static uint y = 2463534242u; // seed
  y ^= (y<<13);
  y ^= (y>>17);
  y ^= (y<<5);
  return y;
}
但这是缓慢的。有没有更快的办法

PS
区间内不同数字的概率的一个小不等式是可以接受的。

xorshift
r
函数看起来很像。如何定义慢?DIV指令可以用于此目的,它在现代x86(i7)上以26个时钟周期运行,在Core2上以40个时钟周期运行。这与r()所需的时钟周期相比仍有很大差距。@user562374-在看到y被声明为静态之前,我一直认为是一样的。xorshift
r
函数看起来很像。如何定义慢?DIV指令可用于此目的,它在现代x86(i7)上以26个时钟周期运行,在Core2上以40个时钟周期运行。这与r()所需的时钟周期相比仍然有很大差距。@user562374-在看到y被声明为静态之前,我一直认为是一样的。
r() % n