2 DOUBLE PRECISION FUNCTION d9lgit (A, X, ALGAP1)
29 DOUBLE PRECISION A, X, ALGAP1, AX, A1X, EPS, FK, HSTAR, P, R, S,
32 SAVE eps, sqeps, first
37 sqeps =
sqrt(d1mach(4))
41 IF (x .LE. 0.d0 .OR. a .LT. x) CALL
xermsg(
'SLATEC',
'D9LGIT',
42 +
'X SHOULD BE GT 0.0 AND LE A', 2, 2)
52 r = t/((ax+fk)*(a1x+fk)-t)
55 IF (
abs(p).LT.eps*s) go to 30
57 CALL
xermsg(
'SLATEC',
'D9LGIT',
58 +
'NO CONVERGENCE IN 200 TERMS OF CONTINUED FRACTION', 3, 2)
60 30 hstar = 1.0d0 - x*s/a1x
61 IF (hstar .LT. sqeps) CALL
xermsg(
'SLATEC',
'D9LGIT',
62 +
'RESULT LESS THAN HALF PRECISION', 1, 1)
octave_value log(void) const
subroutine xermsg(LIBRAR, SUBROU, MESSG, NERR, LEVEL)
double precision function d9lgit(A, X, ALGAP1)
octave_value sqrt(void) const