source: PSPA/parmelaPSPA/trunk/rn32.f @ 405

Last change on this file since 405 was 12, checked in by lemeur, 12 years ago

parmela pspa initial

File size: 919 bytes
Line 
1      FUNCTION RN32(IDUMMY)
2C         MACHINE-INDEPENDENT RANDOM NUMBER GENERATOR
3C         PRODUCES UNIFORMLY-DISTRIBUTED FLOATING-PT.
4C               NUMBERS BETWEEN ZERO AND ONE.
5C         IDENTICAL SEQUENCE ON ALL MACHINES OF .GE. 32 BITS.
6C              UNIVERSAL VERSION,  F.JAMES, 1985
7C              IY     IS THE SEED,
8C              CONS   IS 2**-31
9C              MASK31 IS 17777777777 OCTAL
10      PARAMETER (CONS=4.6566128730774E-10, MASK31=2147483647)
11      SAVE IY
12      DATA IY/65539/
13      IY = IY * 69069
14C         KEEP ONLY LOWER 31 BITS
15      IY = IAND (IY, MASK31)
16C         SET LOWER 8 BITS TO ZERO TO ASSURE EXACT FLOAT
17      JY = IY /256 *256
18      RN32 = CONS*JY
19      RETURN
20C         ENTRY TO INPUT SEED
21      ENTRY RN32IN (IDUMMY)
22      IY = IDUMMY
23      RETURN
24C         ENTRY TO OUTPUT SEED
25      ENTRY RN32OT (IDUMMY)
26cbm 27/07/00      IDUMMY = IY
27      IY = IDUMMY
28      RETURN
29      END
Note: See TracBrowser for help on using the repository browser.