An exhaustive analysis of multiplicative congruential random number generators with modulus 231-1
SIAM Journal on Scientific and Statistical Computing
A guide to simulation (2nd ed.)
A guide to simulation (2nd ed.)
Efficient and portable combined random number generators
Communications of the ACM
Random number generators: good ones are hard to find
Communications of the ACM
Communications of the ACM - Special issue on simulation
The art of computer programming, volume 2 (3rd ed.): seminumerical algorithms
The art of computer programming, volume 2 (3rd ed.): seminumerical algorithms
A More Portable Fortran Random Number Generator
ACM Transactions on Mathematical Software (TOMS)
Coding the Lehmer pseudo-random number generator
Communications of the ACM
Hi-index | 0.00 |
Up to now, all known efficient portable implementations of linear congruential random number generators with modulus 231 – 1 have worked only with multipliers that are small compared with the modulus. We show that for nonuniform distributions, the rejection method may generate random numbers of bad qualify if combined with a linear congruential generator with small multiplier. A method is described that works for any multiplier smaller than 230. It uses the decomposition of multiplier and seed in high-order and low-order bits to compute the upper and lower half of the product. The sum of the two halfs gives the product of multiplier and seed modulo 221 – 1. Coded in ANSI-C and FORTRAN77 the method results in a portable implementation of the linear congruential generator that is as fast or faster than other portable methods.