1 SUBROUTINE ran3(idum,rand)
10 INTEGER :: idum, IFf, inext, inextp, i, ii, k
11 REAL(rprec) :: rand, ma, mj, mk
13 REAL(rprec),
PARAMETER :: mbig=4000000, mseed=1618033,
14 1 mz=0, fac=1._dp/mbig
21 IF (idum.lt.0 .or. iff.eq.0)
THEN
31 IF(mk.lt.mz) mk=mk+mbig
36 ma(i)=ma(i)-ma(1+mod(i+30,55))
37 IF(ma(i).lt.mz) ma(i)=ma(i)+mbig
45 IF(inext.eq.56) inext=1
47 IF(inextp.eq.56) inextp=1
48 mj=ma(inext)-ma(inextp)
49 IF(mj.lt.mz) mj=mj+mbig