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] acpr_v3_0.gz(20 Kbytes)
Manuscript Title: Assembler RANLUX for PCs.
Authors: K.G. Hamilton
Program title: RANLUXASM
Catalogue identifier: ACPR_v3_0
Distribution format: gz
Journal reference: Comput. Phys. Commun. 101(1997)249
Programming language: Intel I386/387 Assembly Language.
Computer: IBM PC (Intel 386/387).
Operating system: MSDOS, Windows 95, Windows NT.
RAM: 5K words
Word size: 32
Keywords: General purpose, Statistical methods, Monte Carlo, Random numbers, Random number generators, Pseudorandom.
Classification: 4.13.

Nature of problem:
Any Monte Carlo calculation or simulation.

Solution method:
The RANLUX routine [2] is converted to integer recursion in assembly language, resulting in an increase in speed.

Unusual features:
Conditional assembly directives allow the software to be linked to main programs that were compiled by any one of several PC Fortrans. Intel i386/387 assembly language [1] is callable from Lahey, Microsoft and Watcom 16- and 32-bit Fortrans. A numeric coprocessor is required, for those CPUs that do not include the floating-point instruction set.

Running time:
Approximately 1-6 microseconds per value using an Intel 486DX2-66 CPU, 0.3-2.0 microseconds with a Pentium-133.

[1] Microsoft Corporation, Microsoft Macro Assembler, Programmer's Reference, version 6.10, (Redmond WA, 1992).
[2] F. James, Comput. Phys. Commun. 79(1994)111-114; 97(1996)357.