1
DOUBLE PRECISION FUNCTION algdiv(a,b)
2
C-----------------------------------------------------------------------
4
C COMPUTATION OF LN(GAMMA(B)/GAMMA(A+B)) WHEN B .GE. 8
8
C IN THIS ALGORITHM, DEL(X) IS THE FUNCTION DEFINED BY
9
C LN(GAMMA(X)) = (X - 0.5)*LN(X) - X + 0.5*LN(2*PI) + DEL(X).
11
C-----------------------------------------------------------------------
12
C .. Scalar Arguments ..
16
DOUBLE PRECISION c,c0,c1,c2,c3,c4,c5,d,h,s11,s3,s5,s7,s9,t,u,v,w,
19
C .. External Functions ..
20
DOUBLE PRECISION alnrel
23
C .. Intrinsic Functions ..
26
C .. Data statements ..
27
DATA c0/.833333333333333D-01/,c1/-.277777777760991D-02/,
28
+ c2/.793650666825390D-03/,c3/-.595202931351870D-03/,
29
+ c4/.837308034031215D-03/,c5/-.165322962780713D-02/
31
C .. Executable Statements ..
32
C------------------------
45
C SET SN = (1 - X**N)/(1 - X)
49
s5 = 1.0D0 + (x+x2*s3)
50
s7 = 1.0D0 + (x+x2*s5)
51
s9 = 1.0D0 + (x+x2*s7)
52
s11 = 1.0D0 + (x+x2*s9)
54
C SET W = DEL(B) - DEL(A + B)
57
w = ((((c5*s11*t+c4*s9)*t+c3*s7)*t+c2*s5)*t+c1*s3)*t + c0
63
v = a* (dlog(b)-1.0D0)