      program ransu_test02             ! ex060102
      implicit real*8 (a-h,o-z)
      common /comransu/iy
      save   /comransu/
      data cntr/0d0/
c     data iy / 1234567 /
      iy = 1234567
      write(*,*) 'ransu_test02'
      do i=1,10
        call ransu(r)
        write(*,*) i, r
      enddo      
      stop
      end
      
      subroutine ransu(r)
      implicit real*8 (a-h,o-z)
      common /comransu/iy
      save   /comransu/
 1000 iy = iy * 48828125
      if( iy .lt. 0 ) iy = ( iy + 2147483647 ) + 1
      r = dfloat( iy ) * 4.6566128752457967d-10
      if( r .le. 0d0 ) go to 1000
      return
      end
