32 DOUBLE PRECISION XMIN, XMAX, ALNBIG, ALNSML, XLN, XOLD, D1MACH
34 alnsml =
log(d1mach(1))
39 xmin = xmin - xmin*((xmin+0.5d0)*xln - xmin - 0.2258d0 + alnsml)
41 IF (
abs(xmin-xold).LT.0.005d0) go to 20
43 CALL
xermsg(
'SLATEC',
'DGAMLM',
'UNABLE TO FIND XMIN', 1, 2)
45 20 xmin = -xmin + 0.01d0
47 alnbig =
log(d1mach(2))
52 xmax = xmax - xmax*((xmax-0.5d0)*xln - xmax + 0.9189d0 - alnbig)
54 IF (
abs(xmax-xold).LT.0.005d0) go to 40
56 CALL
xermsg(
'SLATEC',
'DGAMLM',
'UNABLE TO FIND XMAX', 2, 2)
58 40 xmax = xmax - 0.01d0
59 xmin =
max(xmin, -xmax+1.d0)
subroutine dgamlm(XMIN, XMAX)
octave_value log(void) const
charNDArray max(char d, const charNDArray &m)
subroutine xermsg(LIBRAR, SUBROU, MESSG, NERR, LEVEL)