Line | |
---|
1 | SUBROUTINE GCF(GAMMCF,A,X,GLN) |
---|
2 | PARAMETER (ITMAX=100,EPS=3.E-7) |
---|
3 | GLN=GAMMLN(A) |
---|
4 | GOLD=0. |
---|
5 | A0=1. |
---|
6 | A1=X |
---|
7 | B0=0. |
---|
8 | B1=1. |
---|
9 | FAC=1. |
---|
10 | DO 11 N=1,ITMAX |
---|
11 | AN=FLOAT(N) |
---|
12 | ANA=AN-A |
---|
13 | A0=(A1+A0*ANA)*FAC |
---|
14 | B0=(B1+B0*ANA)*FAC |
---|
15 | ANF=AN*FAC |
---|
16 | A1=X*A0+ANF*A1 |
---|
17 | B1=X*B0+ANF*B1 |
---|
18 | IF(A1.NE.0.)THEN |
---|
19 | FAC=1./A1 |
---|
20 | G=B1*FAC |
---|
21 | IF(ABS((G-GOLD)/G).LT.EPS)GO TO 1 |
---|
22 | GOLD=G |
---|
23 | ENDIF |
---|
24 | 11 CONTINUE |
---|
25 | PAUSE 'A TOO LARGE, ITMAX TOO SMALL' |
---|
26 | 1 GAMMCF=EXP(-X+A*ALOG(X)-GLN)*G |
---|
27 | RETURN |
---|
28 | END |
---|
Note: See
TracBrowser
for help on using the repository browser.