equal
deleted
inserted
replaced
47 n:= (n + 1) and $3F; |
47 n:= (n + 1) and $3F; |
48 cirbuf[n]:= cirbuf[n] xor r; |
48 cirbuf[n]:= cirbuf[n] xor r; |
49 end; |
49 end; |
50 |
50 |
51 function GetNext: Longword; inline; |
51 function GetNext: Longword; inline; |
52 var s : string; |
|
53 begin |
52 begin |
54 n:= (n + 1) and $3F; |
53 n:= (n + 1) and $3F; |
55 cirbuf[n]:= |
54 cirbuf[n]:= |
56 (cirbuf[(n + 40) and $3F] + {n - 24 mod 64} |
55 (cirbuf[(n + 40) and $3F] + {n - 24 mod 64} |
57 cirbuf[(n + 9) and $3F]) {n - 55 mod 64} |
56 cirbuf[(n + 9) and $3F]) {n - 55 mod 64} |
58 and $7FFFFFFF; {mod 2^31} |
57 and $7FFFFFFF; {mod 2^31} |
59 |
58 |
60 GetNext:= cirbuf[n]; |
59 GetNext:= cirbuf[n]; |
61 str(GetNext, s); |
|
62 end; |
60 end; |
63 |
61 |
64 procedure SetRandomSeed(Seed: shortstring; dropAdditionalPart: boolean); |
62 procedure SetRandomSeed(Seed: shortstring; dropAdditionalPart: boolean); |
65 var i, t, l: Longword; |
63 var i, t, l: Longword; |
66 begin |
64 begin |