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
std::string dimension(void) const
octave_int< T > mod(const octave_int< T > &x, const octave_int< T > &y)
octave_value sin(void) const
octave_value cos(void) const
subroutine casyi(Z, FNU, KODE, N, Y, NZ, RL, TOL, ELIM, ALIM)
octave_value sqrt(void) const
F77_RET_T const double * x