1 SUBROUTINE cuoik(Z, FNU, KODE, IKFLG, N, Y, NUF, TOL, ELIM, ALIM)
27 COMPLEX arg, asum, bsum, cwrk, cz, czero, phi,
sum, y, z, zb,
28 * zeta1, zeta2, zn, zr
29 REAL aarg, aic, alim, aphi, ascle, ax, ay, elim, fnn, fnu, gnn,
30 * gnu, rcz, tol,
x, yy
31 INTEGER i, iform, ikflg,
init, kode, n,
nn, nuf, nw
33 DATA czero / (0.0e0,0.0e0) /
34 DATA aic / 1.265512123484645396e+00 /
39 IF (
x.LT.0.0e0) zr = -z
45 IF (ay.GT.ax) iform = 2
46 gnu = amax1(fnu,1.0e0)
47 IF (ikflg.EQ.1) go to 10
49 gnn = fnu + fnn - 1.0e0
57 IF (iform.EQ.2) go to 20
59 CALL
cunik(zr, gnu, ikflg, 1, tol,
init, phi, zeta1, zeta2,
sum,
64 zn = -zr*
cmplx(0.0e0,1.0e0)
65 IF (yy.GT.0.0e0) go to 30
68 CALL
cunhj(zn, gnu, 1, tol, phi,
arg, zeta1, zeta2, asum, bsum)
72 IF (kode.EQ.2) cz = cz - zb
73 IF (ikflg.EQ.2) cz = -cz
79 IF (rcz.GT.elim) go to 170
80 IF (rcz.LT.alim) go to 50
81 rcz = rcz + alog(aphi)
82 IF (iform.EQ.2) rcz = rcz - 0.25e0*alog(aarg) - aic
83 IF (rcz.GT.elim) go to 170
89 IF (rcz.LT.(-elim)) go to 60
90 IF (rcz.GT.(-alim)) go to 100
91 rcz = rcz + alog(aphi)
92 IF (iform.EQ.2) rcz = rcz - 0.25e0*alog(aarg) - aic
93 IF (rcz.GT.(-elim)) go to 80
101 ascle = 1.0e+3*
r1mach(1)/tol
103 IF (iform.EQ.1) go to 90
109 CALL
cuchk(cz, nw, ascle, tol)
110 IF (nw.EQ.1) go to 60
112 IF (ikflg.EQ.2)
RETURN
118 gnu = fnu + float(
nn-1)
119 IF (iform.EQ.2) go to 120
121 CALL
cunik(zr, gnu, ikflg, 1, tol,
init, phi, zeta1, zeta2,
sum,
126 CALL
cunhj(zn, gnu, 1, tol, phi,
arg, zeta1, zeta2, asum, bsum)
130 IF (kode.EQ.2) cz = cz - zb
133 IF (rcz.LT.(-elim)) go to 140
134 IF (rcz.GT.(-alim))
RETURN
135 rcz = rcz + alog(aphi)
136 IF (iform.EQ.2) rcz = rcz - 0.25e0*alog(aarg) - aic
137 IF (rcz.GT.(-elim)) go to 150
145 ascle = 1.0e+3*
r1mach(1)/tol
147 IF (iform.EQ.1) go to 160
153 CALL
cuchk(cz, nw, ascle, tol)
154 IF (nw.EQ.1) go to 140