#define r228 (1<<28) __device__ int myrandom(int max, int rn, long rx[]) { rn = (rn%55) + 1; rx[rn-1] = (rx[rn-1] + rx[(rn+30)%55])%r228; return rx[rn-1]*max/r228; } __device__ void myseed(int n, int rn, long rx[]) { int i; rn = 1; rx[0] = n%r228; for(i = 2 ; i <= 55 ; i++)rx[i-1]=(1664525*rx[i-2]+1)%r228; for(i = 1 ; i < 100 ; i++){ rn = (rn%55) + 1; rx[rn-1] = (rx[rn-1]+rx[(rn+30)%55])%r228; }
}