home *** CD-ROM | disk | FTP | other *** search
/ Avalon - 3D Objects & Resources / Avalon.iso / objects / obj / terrain / urn.for < prev    next >
Encoding:
Text File  |  1995-01-01  |  624 b   |  26 lines

  1.       REAL FUNCTION URN ( KSEED )
  2. C
  3. C UNIFORM RANDOM NUMBER GENERATOR
  4. C     X  <-  A*X  MOD  P
  5. C
  6. C WHERE
  7. C     P = PRIME MODULUS       = 2**31 - 1 = 2147483647
  8. C     A = PRIMITIVE ROOT OF P = 7**5      = 16807
  9. C
  10. C REFERENCE
  11. C     'PSEUDO-RANDOM NUMBER GENERATOR FOR THE SYSTEM/360,'
  12. C     LEWIS ET AL, IBM SYSTEM J. VOL 8 #2, 1969, PP 136-146.
  13. C
  14. C WRITTEN BY L LUCAS, CODE 3873, 4 JAN 1982
  15. C
  16.       DOUBLE PRECISION DSEED, DP, DP1
  17. C
  18.       DATA         DP  / 2147483647.D0 /
  19.       DATA         DP1 / 2147483648.D0 /
  20. C
  21.       DSEED = DMOD(16807.D0*KSEED, DP)
  22.       KSEED = DSEED
  23.       URN   = DSEED / DP1
  24.       RETURN
  25.       END
  26.