source: PSPA/parmelaPSPA/trunk/gcf.f @ 315

Last change on this file since 315 was 12, checked in by lemeur, 12 years ago

parmela pspa initial

File size: 604 bytes
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
2411    CONTINUE
25      PAUSE 'A TOO LARGE, ITMAX TOO SMALL'
261     GAMMCF=EXP(-X+A*ALOG(X)-GLN)*G
27      RETURN
28      END
Note: See TracBrowser for help on using the repository browser.