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)
charNDArray max(char d, const charNDArray &m)
subroutine dgamlm(XMIN, XMAX)
subroutine xermsg(LIBRAR, SUBROU, MESSG, NERR, LEVEL)