Elsevier Science Home
Computer Physics Communications Program Library
Full text online from Science Direct
Programs in Physics & Physical Chemistry
CPC Home

[Licence| Download | New Version Template] acvx_v1_0.gz(44 Kbytes)
Manuscript Title: A universal GFSR random number generator for personal computers. See erratum comp. Phys. Commun. 86(1995)208.
Authors: K.G. Hamilton
Program title: GFSRPC
Catalogue identifier: ACVX_v1_0
Distribution format: gz
Journal reference: Comput. Phys. Commun. 85(1995)127
Programming language: Fortran, Assembly.
Computer: IBM PC i386 processor.
Operating system: MS DOS, Windows NT.
RAM: 400K words
Word size: 32
Keywords: General purpose, Statistical methods, Random numbers, Random number generators, Monte Carlo, Tausworthe, GFSR, Shift register sequences.
Classification: 4.13.

Nature of problem:
Any Monte Carlo or other calculation requiring a uniform pseudorandom number generator.

Solution method:
Pseudorandom numbers belonging to a uniform distribution are calculated using the Generalized Feedback Shift Register method.

Unusual features:
The pure assembly language versions use conditional directives, so as to match the calling sequence of several PC Fortran compilers, while the Salford version uses the in-line assembler capability of that compiler. Either form can be configured at compilation time to follow any of several hundred primitive trinomial patterns.

Running time:
Between 0.8 and 3.6 museconds per pseudorandom number, depending on version of the routine, using an Intel 486DX2-66 CPU.

[1] Microsoft Corporation, "Microsoft Macro Assembler, Programmer's Reference", version 6.10, 1992.
[2] Salford Software, Ltd., "FTN77 Reference Manual", version 2.70,1993.