Generator Parameters
Each generator may contain several variants, which can be selected by setting the generator parameter during initialization. For example, the multiplier is a parameter for the 48 bit linear congruential generator. Choosing different multipliers will give diferent sets of streams. The value SPRNG_DEFAULT is always an acceptable parameter. Tests to verify the quality of each generator are based on the default parameter.
1. Combined Multiple Recursive Generator
The acceptable parameter values are identical to those for the 64 Bit Linear Congruential Generator.
2. 48 Bit Linear Congruential Generator with Prime Addend
We give below the different choices of parameters available to the user while initializing streams with the 48 bit Linear Congruential Generator with prime addend.
- SPRNG_DEFAULT
- Multiplier a = 2875a2e7b175 in base 16. This is the same as using the parameter CRAYLCG.
- CRAYLCG
- Multiplier a = 2875a2e7b175 in base 16. This multiplier is identical to that used by the FORTRAN INTRINSIC
getranf
available on CRAY machines.
- DRAND48
- Multiplier a = 5deece66d in base 16. This multiplier is available as the default on the drand48 random number generator available on several UNIX systems. Please note that the multiplier is incorrectly documented as 5deece66d16 on some machines.
- FISH1
- Multiplier a = 3eac44605265 in base 16. This multiplier was analysed by Fishman.
- FISH2
- Multiplier a = 1ee1429cc9f5 in base 16. This multiplier was analysed by Fishman.
- FISH3
- Multiplier a = 275b38eb4bbd in base 16. This multiplier was analysed by Fishman.
- FISH4
- Multiplier a = 739a9cb08605 in base 16. This multiplier was analysed by Fishman.
- FISH5
- Multiplier a = 3228d7cc25f5 in base 16. This multiplier was analysed by Fishman.
3. 64 Bit Linear Congruential Generator with Prime Addend
We give below the different choices of parameters available to the user while initializing streams with the 64 bit Linear Congruential Generator with prime addend.
- SPRNG_DEFAULT
- Multiplier a = 27bb2ee687b0b0fd in base 16. This is the same as using the parameter LECU1.
- LECU1
- Multiplier a = 27bb2ee687b0b0fd in base 16, = 2862933555777941757, suggested by L'cuyer in his table of multipliers.
- LECU2
- Multiplier a = 2c6fe96ee78b6955 in base 16, = 3202034522624059733, suggested by L'cuyer in his table of multipliers.
- LECU3
- Multiplier a = 369dea0f31a53f85 in base 16, = 3935559000370003845, suggested by L'cuyer in his table of multipliers.
4. Modified Lagged Fibonacci Generator
We give below the different choices of parameters available to the user while initializing streams with the modified Lagged Fibonacci Generator.
- SPRNG_DEFAULT
- Lags l = 1279, k = 861. This is the same as using the parameter LAG1279.
- LAG1279
- Lags l = 1279, k = 861.
- LAG17
- Lags l = 17, k = 5.
- LAG31
- Lags l = 31, k = 6.
- LAG55
- Lags l = 55, k = 24.
- LAG63
- Lags l = 63, k = 31.
- LAG127
- Lags l = 127, k = 97.
- LAG521
- Lags l = 521, k = 353.
- LAG521B
- Lags l = 521, k = 168.
- LAG607
- Lags l = 607, k = 334.
- LAG607B
- Lags l = 607, k = 273.
- LAG1279B
- Lags l = 1279, k = 418.
5. Multiplicative Lagged Fibonacci Generator
The lags are identical to that of the Modified Lagged Fibonacci Generator, except the following:
- SPRNG_DEFAULT
- Lags l = 17, k = 5. This is the same as using the parameter LAG17.
6. Prime Modulus Linear Congruential Generator
The only acceptable parameter is the value SPRNG_DEFAULT, which corresponds to a modulus of 261-1.