diff options
Diffstat (limited to 'CarpetExtra/IDHydroToy/src/gser.f')
-rw-r--r-- | CarpetExtra/IDHydroToy/src/gser.f | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/CarpetExtra/IDHydroToy/src/gser.f b/CarpetExtra/IDHydroToy/src/gser.f new file mode 100644 index 000000000..fad2be01f --- /dev/null +++ b/CarpetExtra/IDHydroToy/src/gser.f @@ -0,0 +1,28 @@ + 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. |