mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-05 00:41:19 -05:00
2c17544f3f
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/WSJT/trunk@1 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
25 lines
552 B
Fortran
25 lines
552 B
Fortran
FUNCTION gasdev(idum)
|
|
INTEGER idum
|
|
REAL gasdev
|
|
CU USES ran1
|
|
INTEGER iset
|
|
REAL fac,gset,rsq,v1,v2,ran1
|
|
SAVE iset,gset
|
|
DATA iset/0/
|
|
if (iset.eq.0) then
|
|
1 v1=2.*ran1(idum)-1.
|
|
v2=2.*ran1(idum)-1.
|
|
rsq=v1**2+v2**2
|
|
if(rsq.ge.1..or.rsq.eq.0.)goto 1
|
|
fac=sqrt(-2.*log(rsq)/rsq)
|
|
gset=v1*fac
|
|
gasdev=v2*fac
|
|
iset=1
|
|
else
|
|
gasdev=gset
|
|
iset=0
|
|
endif
|
|
return
|
|
END
|
|
C (C) Copr. 1986-92 Numerical Recipes Software *(t9,12.
|