Initial commit
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
SUBROUTINE gser(gamser,a,x,gln)
|
||||
INTEGER ITMAX
|
||||
REAL a,gamser,gln,x,EPS
|
||||
PARAMETER (ITMAX=100,EPS=3.e-7)
|
||||
CU USES gammln
|
||||
INTEGER n
|
||||
REAL 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
|
||||
Reference in New Issue
Block a user