      double precision function urand(iseed)
      integer iseed
      double precision dl
      dl=dmod(16807.0d0*dble(iseed),2147483647.0d0)
      iseed=idint(dl)
      urand=dl*4.6566128752458d-10
      return
      end
