      DOUBLE PRECISION FUNCTION DRAN(K)
C
C     RANDOM NUMBER GENERATOR - BASED ON ALGORITHM 266 BY PIKE AND
C      HILL (MODIFIED BY HANSSON), COMMUNICATIONS OF THE ACM,
C      VOL. 8, NO. 10, OCTOBER 1965.
C
C     THE SINGLE PRECISION VERSION OF THIS SUBPROGRAM IS INTENDED
C     FOR USE ON COMPUTERS WITH FIXED POINT WORDLENGTH OF AT
C     LEAST 29 BITS.  IT IS BEST IF THE FLOATING POINT
C     SIGNIFICAND HAS AT MOST 29 BITS.
C
C     FOLLOWING CODY AND WAITE'S RECOMMENDATION (P .14), WE
C     PRODUCE A PAIR OF RANDOM NUMBERS AND USE RAN1 +
C     2**(-29)*RAN2 IN AN ATTEMPT TO GENERATE ABOUT 58 RANDOM BITS.
C
      INTEGER IY,J,K
      DATA             IY     /100001/
C
      J = K
      IY = IY * 125
      IY = IY - (IY/2796203) * 2796203
      DRAN = DBLE(FLOAT(IY)) / 2796203.0D+00
C
      IY = IY * 125
      IY = IY - (IY/2796203) * 2796203
      DRAN = DRAN + (DBLE(FLOAT(IY)) / 2796203.0D+00) / 536870912.0D+00
      RETURN
C     ---------- LAST CARD OF DRAN ----------
      END
