It is now possible to do serious scientific work on personal computers (PC's). Many simulation studies, whether exploratory or for production runs, call for random numbers. We offer here a new kind of random number generator with implementation tailored specifically for PC's using Intel 8088/8086 or 80286/80386 processors. A floating-point coprocessor is not required or even useful for the generator, although, of course, a coprocessor may help other parts of a simulation. The generator has an extremely long period — some 2 1407 — requires only 43 stored values and uses only one arithmetic operation: subtraction. It is one of a new class of generators that we have recently developed. They are called add-with-carry and subtract-with-borrow generators. Related to lagged-Fibonacci generators, the new class has an interesting underlying theory, astonishingly long periods and provable uniformity for full sequences. This article describes a machine language subroutine that provides 32-bit random integers as well as uniform (single precision) reals with standard 24-bit fractions.
Read full abstract