SUBROUTINE gser(gamser,a,x,gln) implicit none INTEGER ITMAX REAL*8 a,gamser,gln,x,EPS PARAMETER (ITMAX=100,EPS=3.d-7) CU USES gammln INTEGER n REAL*8 ap,del,sum,gammln gln=gammln(a) if(x.le.0)then if(x.lt.0)pause 'x < 0 in gser' gamser=0 return endif ap=a sum=1/a del=sum do 11 n=1,ITMAX ap=ap+1 del=del*x/ap sum=sum+del if(abs(del).lt.abs(sum)*EPS)goto 1 11 continue pause 'a too large, ITMAX too small in gser' 1 gamser=sum*exp(-x+a*log(x)-gln) return END C (C) Copr. 1986-92 Numerical Recipes Software t4.