31 SAVE sq2pil, sqpi2l, pi, xmax, dxrel, first
32 DATA sq2pil / 0.9189385332 0467274e0/
33 DATA sqpi2l / 0.2257913526 4472743e0/
34 DATA pi / 3.1415926535 8979324e0/
38 xmax = r1mach(2)/
log(r1mach(2))
39 dxrel =
sqrt(r1mach(4))
44 IF (y.GT.10.0) go to 20
53 20
IF (y .GT. xmax) CALL
xermsg(
'SLATEC',
'ALNGAM',
54 +
'ABS(X) SO BIG ALNGAM OVERFLOWS', 2, 2)
60 IF (sinpiy .EQ. 0.) CALL
xermsg(
'SLATEC',
'ALNGAM',
61 +
'X IS A NEGATIVE INTEGER', 3, 2)
63 IF (
abs((x-aint(x-0.5))/x) .LT. dxrel) CALL
xermsg(
'SLATEC',
64 +
'ALNGAM',
'ANSWER LT HALF PRECISION BECAUSE X TOO NEAR ' //
65 +
'NEGATIVE INTEGER', 1, 1)
octave_value log(void) const
octave_value sin(void) const
subroutine xermsg(LIBRAR, SUBROU, MESSG, NERR, LEVEL)
octave_value sqrt(void) const