1 SUBROUTINE cmlri(Z, FNU, KODE, N, Y, NZ, TOL)
10 COMPLEX ck, cnorm, cone, ctwo, czero, pt, p1, p2, rz,
sum, y, z
11 REAL ack, ak, ap,
at, az, bk, fkap, fkk, flam, fnf, fnu, rho,
13 INTEGER i, iaz, idum, ifnu, inu, itime, k, kk, km, kode, m, n
15 DATA czero,cone,ctwo /(0.0e0,0.0e0),(1.0e0,0.0e0),(2.0e0,0.0e0)/
16 scle = 1.0e+3*
r1mach(1)/tol
23 at = float(iaz) + 1.0e0
29 rho = ack +
sqrt(ack*ack-1.0e0)
31 tst = (rho2+rho2)/((rho2-1.0e0)*(rho-1.0e0))
43 IF (ap.GT.tst*ak*ak) go to 20
50 IF (inu.LT.iaz) go to 40
56 at = float(inu) + 1.0e0
67 IF (ap.LT.tst) go to 30
68 IF (itime.EQ.2) go to 40
70 flam = ack +
sqrt(ack*ack-1.0e0)
72 rho = amin1(flam,fkap)
73 tst = tst*
sqrt(rho/(rho*rho-1.0e0))
82 kk = max0(i+iaz,k+inu)
88 p2 =
cmplx(scle,0.0e0)
89 fnf = fnu - float(ifnu)
91 bk =
gamln(fkk+tfnf+1.0e0,idum) -
gamln(fkk+1.0e0,idum)
92 * -
gamln(tfnf+1.0e0,idum)
98 p2 = p1 +
cmplx(fkk+fnf,0.0e0)*rz*p2
100 ak = 1.0e0 - tfnf/(fkk+tfnf)
110 p2 = p1 +
cmplx(fkk+fnf,0.0e0)*rz*p2
112 ak = 1.0e0 - tfnf/(fkk+tfnf)
121 IF (ifnu.LE.0) go to 90
124 p2 = p1 +
cmplx(fkk+fnf,0.0e0)*rz*p2
126 ak = 1.0e0 - tfnf/(fkk+tfnf)
134 IF (kode.EQ.2) pt = pt -
cmplx(
x,0.0e0)
135 p1 = -
cmplx(fnf,0.0e0)*clog(rz) + pt
136 ap =
gamln(1.0e0+fnf,idum)
137 pt = p1 -
cmplx(ap,0.0e0)
144 p1 =
cmplx(1.0e0/ap,0.0e0)