1 SUBROUTINE cbesk(Z, FNU, KODE, N, CY, NZ, IERR)
149 REAL aa, alim, aln,
arg, az, dig, elim, fn, fnu, fnul, rl, r1m5,
150 * tol, ufl, xx, yy,
r1mach, bb
151 INTEGER ierr, k, kode, k1, k2, mr, n,
nn, nuf, nw, nz,
i1mach
158 IF (yy.EQ.0.0e0 .AND. xx.EQ.0.0e0)
ierr=1
159 IF (fnu.LT.0.0e0)
ierr=1
160 IF (kode.LT.1 .OR. kode.GT.2)
ierr=1
162 IF (
ierr.NE.0)
RETURN
175 tol = amax1(
r1mach(4),1.0e-18)
179 k = min0(iabs(k1),iabs(k2))
180 elim = 2.303e0*(float(k)*r1m5-3.0e0)
183 dig = amin1(aa,18.0e0)
185 alim = elim + amax1(-aa,-41.45e0)
186 fnul = 10.0e0 + 6.0e0*(dig-3.0e0)
187 rl = 1.2e0*dig + 3.0e0
189 fn = fnu + float(
nn-1)
196 IF(az.GT.aa) go to 210
197 IF(fn.GT.aa) go to 210
206 IF (az.LT.ufl) go to 180
207 IF (fnu.GT.fnul) go to 80
208 IF (fn.LE.1.0e0) go to 60
209 IF (fn.GT.2.0e0) go to 50
210 IF (az.GT.tol) go to 60
213 IF (aln.GT.elim) go to 180
216 CALL
cuoik(z, fnu, kode, 2,
nn, cy, nuf, tol, elim, alim)
217 IF (nuf.LT.0) go to 180
224 IF (
nn.EQ.0) go to 100
226 IF (xx.LT.0.0e0) go to 70
230 CALL
cbknu(z, fnu, kode,
nn, cy, nw, tol, elim, alim)
231 IF (nw.LT.0) go to 200
239 IF (nz.NE.0) go to 180
241 IF (yy.LT.0.0e0) mr = -1
242 CALL
cacon(z, fnu, kode, mr,
nn, cy, nw, rl, fnul, tol, elim,
244 IF (nw.LT.0) go to 200
252 IF (xx.GE.0.0e0) go to 90
254 IF (yy.LT.0.0e0) mr = -1
256 CALL
cbunk(z, fnu, kode, mr,
nn, cy, nw, tol, elim, alim)
257 IF (nw.LT.0) go to 200
261 IF (xx.LT.0.0e0) go to 180
268 IF(nw.EQ.(-1)) go to 180