New changes from l2g
w
This commit is contained in:
@@ -71,13 +71,13 @@
|
||||
return
|
||||
end
|
||||
|
||||
double precision function ran1(idum)
|
||||
implicit none
|
||||
integer idum,IA,IM,IQ,IR,NTAB,NDIV
|
||||
double precision AM,EPS,RNMX
|
||||
PARAMETER(IA=16807,IM=2147483647,AM=1.0d0/IM,IQ=127773,
|
||||
& IR=2836,NTAB=32,NDIV=1+(IM-1)/NTAB,EPS=1.2d-15,
|
||||
& RNMX=1.0d0-EPS)
|
||||
! double precision function ran1(idum)
|
||||
! implicit none
|
||||
! integer idum,IA,IM,IQ,IR,NTAB,NDIV
|
||||
! double precision AM,EPS,RNMX
|
||||
! PARAMETER(IA=16807,IM=2147483647,AM=1.0d0/IM,IQ=127773,
|
||||
! & IR=2836,NTAB=32,NDIV=1+(IM-1)/NTAB,EPS=1.2d-15,
|
||||
! & RNMX=1.0d0-EPS)
|
||||
!
|
||||
! Minimal random number generator of Park and Miller with Bays-Durham shuffle and
|
||||
! added safegaurds. Return a uniform random deviate between 0.0 and 1.0, exclusive
|
||||
@@ -85,25 +85,25 @@
|
||||
! thereafter, do not alter idum between successive deviates in a sequence. RNMX
|
||||
! should approximate the largest floating value that is less than 1.
|
||||
!
|
||||
integer j,k,iv(NTAB),iy
|
||||
save iv,iy
|
||||
data iv /NTAB*0/,iy /0/
|
||||
if(idum.le.0.or.iy.eq.0)then
|
||||
idum=max(-idum,1)
|
||||
do j=NTAB+8,1,-1
|
||||
k=idum/IQ
|
||||
idum=IA*(idum-k*IQ)-IR*k
|
||||
if(idum.lt.0)idum=idum+IM
|
||||
if(j.le.NTAB)iv(j)=idum
|
||||
enddo
|
||||
iy=iv(1)
|
||||
endif
|
||||
k=idum/IQ
|
||||
idum=IA*(idum-k*IQ)-IR*k
|
||||
if(idum.lt.0)idum=idum+IM
|
||||
j=1+iy/NDIV
|
||||
iy=iv(j)
|
||||
iv(j)=idum
|
||||
ran1=dmin1(AM*iy,RNMX)
|
||||
return
|
||||
end
|
||||
! integer j,k,iv(NTAB),iy
|
||||
! save iv,iy
|
||||
! data iv /NTAB*0/,iy /0/
|
||||
! if(idum.le.0.or.iy.eq.0)then
|
||||
! idum=max(-idum,1)
|
||||
! do j=NTAB+8,1,-1
|
||||
! k=idum/IQ
|
||||
! idum=IA*(idum-k*IQ)-IR*k
|
||||
! if(idum.lt.0)idum=idum+IM
|
||||
! if(j.le.NTAB)iv(j)=idum
|
||||
! enddo
|
||||
! iy=iv(1)
|
||||
! endif
|
||||
! k=idum/IQ
|
||||
! idum=IA*(idum-k*IQ)-IR*k
|
||||
! if(idum.lt.0)idum=idum+IM
|
||||
! j=1+iy/NDIV
|
||||
! iy=iv(j)
|
||||
! iv(j)=idum
|
||||
! ran1=dmin1(AM*iy,RNMX)
|
||||
! return
|
||||
! end
|
||||
|
||||
Reference in New Issue
Block a user