1 ccccccccccccccccccccccccccccccccccccccccccccccccc
3 INTEGER idum,IA,IM,IQ,IR,MASK
5 PARAMETER (IA=16807,IM=2147483647,AM=1./IM,IQ=127773,IR=2836,
10 idum=IA*(idum-k*IQ)-IR*k
11 if (idum.lt.0) idum=idum+IM
16 C (C) Copr. 1986-92 Numerical Recipes Software *11915
17 ccccccccccccccccccccccccccccccccccccccccccccccccc
19 INTEGER idum,IA,IM,IQ,IR,NTAB,NDIV
21 PARAMETER (IA=16807,IM=2147483647,AM=1./IM,IQ=127773,IR=2836,
22 *NTAB=32,NDIV=1+(IM-1)/NTAB,EPS=1.2e-7,RNMX=1.-EPS)
23 INTEGER j,k,iv(NTAB),iy
25 DATA iv /NTAB*0/, iy /0/
26 if (idum.le.0.or.iy.eq.0) then
30 idum=IA*(idum-k*IQ)-IR*k
31 if (idum.lt.0) idum=idum+IM
32 if (j.le.NTAB) iv(j)=idum
37 idum=IA*(idum-k*IQ)-IR*k
38 if (idum.lt.0) idum=idum+IM
45 C (C) Copr. 1986-92 Numerical Recipes Software *11915
46 ccccccccccccccccccccccccccccccccccccccccccccccccc
48 INTEGER idum,IM1,IM2,IMM1,IA1,IA2,IQ1,IQ2,IR1,IR2,NTAB,NDIV
50 PARAMETER (IM1=2147483563,IM2=2147483399,AM=1./IM1,IMM1=IM1-1,
51 *IA1=40014,IA2=40692,IQ1=53668,IQ2=52774,IR1=12211,IR2=3791,
52 *NTAB=32,NDIV=1+IMM1/NTAB,EPS=1.2e-7,RNMX=1.-EPS)
53 INTEGER idum2,j,k,iv(NTAB),iy
55 DATA idum2/123456789/, iv/NTAB*0/, iy/0/
61 idum=IA1*(idum-k*IQ1)-k*IR1
62 if (idum.lt.0) idum=idum+IM1
63 if (j.le.NTAB) iv(j)=idum
68 idum=IA1*(idum-k*IQ1)-k*IR1
69 if (idum.lt.0) idum=idum+IM1
71 idum2=IA2*(idum2-k*IQ2)-k*IR2
72 if (idum2.lt.0) idum2=idum2+IM2
80 C (C) Copr. 1986-92 Numerical Recipes Software *11915
81 ccccccccccccccccccccccccccccccccccccccccccccccccc
87 PARAMETER (MBIG=1000000000,MSEED=161803398,MZ=0,FAC=1./MBIG)
88 C PARAMETER (MBIG=4000000.,MSEED=1618033.,MZ=0.,FAC=1./MBIG)
89 INTEGER i,iff,ii,inext,inextp,k
92 SAVE iff,inext,inextp,ma
94 if(idum.lt.0.or.iff.eq.0)then
104 if(mk.lt.MZ)mk=mk+MBIG
109 ma(i)=ma(i)-ma(1+mod(i+30,55))
110 if(ma(i).lt.MZ)ma(i)=ma(i)+MBIG
118 if(inext.eq.56)inext=1
120 if(inextp.eq.56)inextp=1
121 mj=ma(inext)-ma(inextp)
122 if(mj.lt.MZ)mj=mj+MBIG
127 C (C) Copr. 1986-92 Numerical Recipes Software *11915
128 ccccccccccccccccccccccccccccccccccccccccccccccccc