Jump to content

Linear congruential generator: Difference between revisions

GP
(Establish a task "to replicate two historic random number generators." There are still some notes about missing text and wiki formatting, where I intend to fill in later.)
(GP)
Line 1:
{{draft task|Randomness}}
The [[wp:linear congruential generator|linear congruential generator]] is a very simple example of a [[wp:Random number generation|random number generator]]. All linear congruential generators use this formula:
 
* <math>r_{n + 1} = a \times r_n + c \pmod m</math>
Line 33:
 
(Here should be some sample numbers for a few seeds, so that one who solves this task can check if one's numbers matches these samples.)
 
=={{header|PARI/GP}}==
Note that up to PARI/GP version 2.3.0, <code>random()</code> used linear congruential generators.
<lang parigp>BSDseed=Mod(1,1<<31);
MSFTseed=Mod(1,1<<31);
BSD()=BSDseed=1103515245*BSDseed+12345;lift(BSDseed);
MSFT()=MSFTseed=214013*MSFTseed+2531011;lift(MSFTseed)%(1<<31);</lang>
Cookies help us deliver our services. By using our services, you agree to our use of cookies.