GNU Octave
10.1.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
Loading...
Searching...
No Matches
d9lgic.f
Go to the documentation of this file.
1
*DECK D9LGIC
2
DOUBLE PRECISION
FUNCTION
d9lgic
(A, X, ALX)
3
C***BEGIN PROLOGUE D9LGIC
4
C***SUBSIDIARY
5
C***PURPOSE Compute the log complementary incomplete Gamma function
6
C for large X and for A .LE. X.
7
C***LIBRARY SLATEC (FNLIB)
8
C***CATEGORY C7E
9
C***TYPE DOUBLE PRECISION (R9LGIC-S, D9LGIC-D)
10
C***KEYWORDS COMPLEMENTARY INCOMPLETE GAMMA FUNCTION, FNLIB, LARGE X,
11
C LOGARITHM, SPECIAL FUNCTIONS
12
C***AUTHOR Fullerton, W., (LANL)
13
C***DESCRIPTION
14
C
15
C Compute the log complementary incomplete gamma function for large X
16
C and for A .LE. X.
17
C
18
C***REFERENCES (NONE)
19
C***ROUTINES CALLED D1MACH, XERMSG
20
C***REVISION HISTORY (YYMMDD)
21
C 770701 DATE WRITTEN
22
C 890531 Changed all specific intrinsics to generic. (WRB)
23
C 890531 REVISION DATE from Version 3.2
24
C 891214 Prologue converted to Version 4.0 format. (BAB)
25
C 900315 CALLs to XERROR changed to CALLs to XERMSG. (THJ)
26
C 900720 Routine changed from user-callable to subsidiary. (WRB)
27
C***END PROLOGUE D9LGIC
28
DOUBLE PRECISION
a, x, alx,
eps
, fk, p, r, s, t, xma, xpa,
d1mach
29
SAVE
eps
30
DATA
eps
/ 0.d0 /
31
C***FIRST EXECUTABLE STATEMENT D9LGIC
32
IF
(
eps
.EQ.0.d0)
eps
= 0.5d0*
d1mach
(3)
33
C
34
xpa = x + 1.0d0 - a
35
xma = x - 1.d0 - a
36
C
37
r = 0.d0
38
p = 1.d0
39
s = p
40
DO
10 k=1,300
41
fk = k
42
t = fk*(a-fk)*(1.d0+r)
43
r = -t/((xma+2.d0*fk)*(xpa+2.d0*fk)+t)
44
p = r*p
45
s = s + p
46
IF
(abs(p).LT.
eps
*s)
GO TO
20
47
10
CONTINUE
48
CALL
xermsg
(
'SLATEC'
,
'D9LGIC'
,
49
+
'NO CONVERGENCE IN 300 TERMS OF CONTINUED FRACTION'
, 1, 2)
50
C
51
20
d9lgic
= a*alx - x + log(s/xpa)
52
C
53
RETURN
54
END
d1mach
double precision function d1mach(i)
Definition
d1mach.f:23
d9lgic
double precision function d9lgic(a, x, alx)
Definition
d9lgic.f:3
eps
T eps(const T &x)
Definition
data.cc:5008
xermsg
subroutine xermsg(librar, subrou, messg, nerr, level)
Definition
xermsg.f:3
liboctave
external
slatec-fn
d9lgic.f
Generated on Sat Aug 2 2025 06:52:14 for GNU Octave by
1.9.8