Ran001: combined congruential with shuffle. Returns integer random numbers uniformly distributed within [0,2147483646].
Notes: - Minimal random number generator of Park and Miller with
Bays-Durham shuffle and added safeguards.
- The period is 2^31-2 = 2.1*10^9. If your application needs
more numbers in sequence than 1% of the random generators period,
i.e. 10^7, then use a more elaborate random generator.
There are no statistical tests known that it fails to pass, execpt
when the number of calls starts to become on the order of the period.
When you need longer random sequences you should use
another random generator, for example Ran002 or Ran013.
- Reference:
Algorithm "ran1" published in "Portable Random Number Generators",
William H. Press and Saul A. Teukolsky
Computers in Phyics, Vol. 6, No. 5, Sep/Oct 1992
- At least 32 bit long int is required, but works with any larger
word lengths
| Constructor | Description |
Full Usage:
Ran001()
|
|
Full Usage:
Ran001(the_seed)
Parameters:
uint32
|
|
| Instance member | Description |
Full Usage:
this.Long
Returns: uint32
Modifiers: abstract |
|