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