login
Output of linear congruential generator 134775813 for 32-bit values.
1

%I #14 Sep 18 2015 07:33:18

%S 0,1,134775814,-596792289,870078620,1172187917,-1410233534,1368768587,

%T 694906232,1598751577,1828254910,352239543,2039224980,303092965,

%U -683524998,256513635,1259699184,-355259471,1580146294,-967806897,1408429452,-1298476099,-669280590

%N Output of linear congruential generator 134775813 for 32-bit values.

%C A widely used pseudo-random number generator, for example all Delphi-Versions until now use it for their "Random" function.

%C It can be shown that the sequence has full period (its length is 2^32).

%H T. D. Noe, <a href="/A152960/b152960.txt">Table of n, a(n) for n = 0..1000</a>

%H Wikipedia, <a href="http://en.wikipedia.org/wiki/Linear_congruential_generator">Linear congruential generator</a>

%F a(n+1) = (134775813 * a(n) + 1) (mod 2^32) (representatives for the equivalence classes by interpreting the bit-patterns as two's complement).

%t nn=30; t = {x = 0}; Do[x = Mod[134775813 x + 1, 2^32]; If[x > 2^31, x = x - 2^32]; AppendTo[t, x], {nn}]; t (* _T. D. Noe_, Dec 18 2012 *)

%o (Delphi) // implementation using Delphi's built-in random() function

%o var

%o I: Integer;

%o begin

%o Randseed:= 0;

%o for I:= 1 to 100 do begin

%o Write(Randseed, ',');

%o Random;

%o end;

%o end.

%o (PARI) step(n)=(134775813*n+1)%2^32 \\ _Charles R Greathouse IV_, Sep 10 2015

%o (PARI) a(n)=lift((Mod(134775813,2^34)^n-1)/33693953)/4 \\ _Charles R Greathouse IV_, Sep 10 2015

%K sign,easy

%O 0,3

%A _Moritz Franckenstein_, Dec 16 2008