25 int m[4] = {0, 1, 3513, 821};
28 int __default_seed[4] = {13, 15, 1, 17};
31 double twom12 = 1/4096.0;
41 ii[0] = ll[0]*m[3] + ll[1]*m[2] + ll[2]*m[1] + ll[3]*m[0];
42 ii[1] = ll[1]*m[3] + ll[2]*m[2] + ll[3]*m[1];
43 ii[2] = ll[2]*m[3] + ll[3]*m[2];
44 ii[3] = ll[3]*m[3] + 1;
46 ii[2] = ii[2] + (ii[3] >> 12);
48 ii[1] = ii[1] + (ii[2] >> 12);
50 ll[0] = (ii[0] + (ii[1] >> 12)) >> 12;
51 ran = twom12*((double)ll[0] + twom12*((double)ll[1] + twom12*((double)ll[2] + twom12*((double)ll[3]))));
65 for(
int i=0; i < 4; ++i)
66 ran_seed[i] = __default_seed[i];
71 __rand(ran, ran_seed);
79 if (iseed.
size() != 4)
81 QDPIO::cerr << __func__ <<
": rannyu seed is not length 4\n";
101 QDPIO::cerr << __func__ <<
": rannyu seed is not length 4\n";
105 __rand(ran_state.
ran, ran_state.
seed);