5 * Revision 1.1.1.1 1996/04/01 15:02:55 mclareni
10 #if defined(CERNLIB_VAX)
11 OPTIONS/CHECK=NOOVERFLOW
14 #if defined(CERNLIB_CRAY)
17 C MACHINE-INDEPENDENT RANDOM NUMBER GENERATOR
18 C PRODUCES GAUSSIAN-DISTRIBUTED FLOATING-PT.
19 C NUMBERS OF MEAN ZERO AND VARIANCE ONE.
20 C IDENTICAL SEQUENCE ON ALL MACHINES OF .GE. 32 BITS.
21 C UNIVERSAL VERSION, F.JAMES, 1985
24 C MASK31 IS 17777777777 OCTAL
25 PARAMETER (CONS=1.1920928955078E-07, MASK31=2147483647)
26 CSELF,IF=-IBM. CERN EDITLIB+SIEMENS COMPILER PROBLEM.
34 C KEEP ONLY LOWER 31 BITS
35 IY = IAND (IY, MASK31)
36 C SHIFT RIGHT 8 BITS TO AVOID OVFLO
40 C CORRECT FOR TRUNCATION BIAS AND ROUND TO NEAREST
41 C EVEN BYTE TO ASSURE EXACT FLOAT
42 JSUM = (JSUM+134)/256*256
44 RG32 = CONS*JSUM - 6.0
51 C ENTRY TO OUTPUT SEED