1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
REAL FUNCTION ranf()
C**********************************************************************
C
C REAL FUNCTION RANF()
C RANDom number generator as a Function
C
C Returns a random floating point number from a uniform distribution
C over 0 - 1 (endpoints of this interval are not returned) using the
C current generator
C
C This is a transcription from Pascal to Fortran of routine
C Uniform_01 from the paper
C
C L'Ecuyer, P. and Cote, S. "Implementing a Random Number Package
C with Splitting Facilities." ACM Transactions on Mathematical
C Software, 17:98-111 (1991)
C
C**********************************************************************
C .. External Functions ..
INTEGER ignlgi
EXTERNAL ignlgi
C ..
C .. Executable Statements ..
C
C 4.656613057E-10 is 1/M1 M1 is set in a data statement in IGNLGI
C and is currently 2147483563. If M1 changes, change this also.
C
ranf = ignlgi()*4.656613057E-10
RETURN
END
|