5 * Revision 1.1.1.1 1996/02/15 17:50:23 mclareni
11 C CERN PROGLIB# V104 RNDM .VERSION KERNVAX 2.39 930112
12 C ORIG. 22-MAR-88 from IBM version of G.Marsaglia et al., Montreal
14 C !!! Version valid only for VAX floating point format !!!
15 C Careful: compile with /CHECK=NOOVERFLOW
17 C- Uniform Random Number Generator,
18 C- giving the same sequence as the IBM and VAX m-language version
20 EQUIVALENCE (AMAN,MANT)
21 PARAMETER (MSK1 = 3072)
22 C PARAMETER (MSK1 = '00000C00'X)
23 PARAMETER (MSK2 = 13312)
24 C PARAMETER (MSK2 = '00003400'X)
30 MANT = ISHFT (MCGN,-8)
31 IF (MANT.EQ.0) GO TO 14
33 C- AMAN in the range 1 to 2**24-1
35 C- multiply by 2.**(-24)
39 C-- for zero set RNDM = 2.**(-25)
44 C-- Integer random number
47 IRNDM = ISHFT (MCGN,-1)