Pseudo-random numbers/Combined recursive generator MRG32k3a: Difference between revisions
Content added Content deleted
(→{{header|Ruby}}: Added version following OP's pseudo-code) |
|||
Line 1,298: | Line 1,298: | ||
x1i = (A1[0]*@x1[0] + A1[1]*@x1[1] + A1[2]*@x1[2]).modulo M1 |
x1i = (A1[0]*@x1[0] + A1[1]*@x1[1] + A1[2]*@x1[2]).modulo M1 |
||
x2i = (A2[0]*@x2[0] + A2[1]*@x2[1] + A2[2]*@x2[2]).modulo M2 |
x2i = (A2[0]*@x2[0] + A2[1]*@x2[1] + A2[2]*@x2[2]).modulo M2 |
||
@x1 |
@x1 = [x1i, @x1[0], @x1[1]] # Keep last three |
||
@x2 |
@x2 = [x2i, @x2[0], @x2[1]] # Keep last three |
||
z = (x1i - x2i) % M1 |
z = (x1i - x2i) % M1 |
||
return z + 1 |
return z + 1 |