aboutsummaryrefslogtreecommitdiff
path: root/math/bevington/agauss.f
blob: 6aefc5033be2c82c143806a1b9a8bb65cbe50cda (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
c function agauss.f
c
c source
c   Bevington, page 48.
c
c purpose
c   evaluate integral of gaussian probability function
c
c usage
c   result = agauss (x, averag, sigma)
c
c description of parameters
c   x      - limit for integral
c   averag - mean of distribution
c   sigma  - standard deviation of distribution
c   integration range is averag +/- z*sigma
c      where z = abs(x-averag)/sigma
c
c subroutines and function subprograms required
c   none
c
	function agauss (x,averag,sigma)
	double precision z,y2,term,sum,denom
11	z=abs(x-averag)/sigma
	agauss=0.
	if (z) 42,42,21
21	term=0.7071067812*z
22	sum=term
	y2=(z**2)/2.
	denom=1.
c
c accumulate sums of terms
c
31	denom=denom+2.
32	term=term*(y2*2./denom)
33	sum=sum+term
	if (term/sum-1.e-10) 41,41,31
41	agauss=1.128379167*sum*dexp(-y2)
42	return
	end