2 DOUBLE PRECISION FUNCTION d9gmit (A, X, ALGAP1, SGNGAM, ALX)
28 DOUBLE PRECISION a, x, algap1, sgngam, alx, ae, aeps, algs, alg2,
40 IF (x .LE. 0.d0)
CALL xermsg (
'SLATEC',
'D9GMIT',
41 +
'X SHOULD BE GT 0', 1, 2)
44 IF (a.LT.0.d0) ma = a - 0.5d0
48 IF (a.LT.(-0.5d0)) ae = aeps
58 IF (abs(t).LT.
eps*abs(s))
GO TO 30
60 CALL xermsg (
'SLATEC',
'D9GMIT',
61 +
'NO CONVERGENCE IN 200 TERMS OF TAYLOR-S SERIES', 2, 2)
63 30
IF (a.GE.(-0.5d0)) algs = -algap1 + log(s)
64 IF (a.GE.(-0.5d0))
GO TO 60
66 algs = -
dlngam(1.d0+aeps) + log(s)
72 t = x*t/(aeps-(m+1-k))
74 IF (abs(t).LT.
eps*abs(s))
GO TO 50
78 algs = -ma*log(x) + algs
79 IF (s.EQ.0.d0 .OR. aeps.EQ.0.d0)
GO TO 60
81 sgng2 = sgngam * sign(1.0d0, s)
82 alg2 = -x - algap1 + log(abs(s))
84 IF (alg2.GT.bot)
d9gmit = sgng2 * exp(alg2)
double precision function d1mach(i)
double precision function d9gmit(A, X, ALGAP1, SGNGAM, ALX)
double precision function dlngam(X)
subroutine xermsg(LIBRAR, SUBROU, MESSG, NERR, LEVEL)