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