1 SUBROUTINE casyi(Z, FNU, KODE, N, Y, NZ, RL, TOL, ELIM, ALIM)
12 COMPLEX ak1, ck, cone, cs1, cs2, cz, czero, dk, ez, p1, rz, s2,
14 REAL aa, acz, aez, ak, alim,
arg, arm, atol, az, bb, bk, dfnu,
15 * dnu2, elim, fdn, fnu, pi, rl, rtpi, rtr1, s, sgn, sqk, tol,
x,
17 INTEGER i, ib, il, inu, j, jl, k, kode, koded, m, n,
nn, nz
19 DATA pi, rtpi /3.14159265358979324e0 , 0.159154943091895336e0 /
20 DATA czero, cone / (0.0e0,0.0e0), (1.0e0,0.0e0) /
28 dfnu = fnu + float(n-il)
32 ak1 =
cmplx(rtpi,0.0e0)/z
35 IF (kode.EQ.2) cz = z -
cmplx(
x,0.0e0)
37 IF (
abs(acz).GT.elim) go to 80
40 IF ((
abs(acz).GT.alim) .AND. (n.GT.2)) go to 10
45 IF (dnu2.GT.rtr1) fdn = dnu2*dnu2
46 ez = z*
cmplx(8.0e0,0.0e0)
57 IF (yy.EQ.0.0e0) go to 20
63 arg = (fnu-float(inu))*pi
67 IF (yy.LT.0.0e0) bk = -bk
69 IF (
mod(inu,2).EQ.1) p1 = -p1
83 ck = ck*
cmplx(sqk,0.0e0)/dk
86 cs1 = cs1 + ck*
cmplx(sgn,0.0e0)
92 IF (aa.LE.atol) go to 40
97 IF (
x+
x.LT.elim) s2 = s2 + p1*cs2*cexp(-z-z)
98 fdn = fdn + 8.0e0*dfnu + 4.0e0
110 y(k) =
cmplx(ak+fnu,0.0e0)*rz*y(k+1) + y(k+2)
114 IF (koded.EQ.0)
RETURN