DSurfTomo/srcsparsity/gaussian.f90
Hongjian Fang fb7b81711f Initial commit
change 1e-2 to 'ftol' in CalSurfG.f90, which may cause problem with small study region (~2 km)
2016-03-29 15:48:02 +02:00

32 lines
444 B
Fortran

real function gaussian()
implicit none
! real rd
real x1,x2,w,y1
real y2
real n1,n2
integer use_last
integer ii,jj
use_last=0
y2=0
w=2.0
if(use_last.ne.0) then
y1=y2
use_last=0
else
do while (w.ge.1.0)
call random_number(n1)
call random_number(n2)
x1=2.0*n1-1.0
x2=2.0*n2-1.0
w = x1 * x1 + x2 * x2
enddo
w=((-2.0*log(w))/w)**0.5
y1=x1*w
y2=x2*w
use_last=1
endif
gaussian=y1
end function