1 SUBROUTINE cseri(Z, FNU, KODE, N, Y, NZ, TOL, ELIM, ALIM)
15 COMPLEX AK1, CK, COEF, CONE, CRSC, CZ, CZERO, HZ, RZ, S1, S2, W,
17 REAL AA, ACZ, AK, ALIM, ARM, ASCLE, ATOL, AZ, DFNU, ELIM, FNU,
18 * fnup, rak1, rs, rtr1, s, ss, tol,
x,
gamln, r1mach
19 INTEGER I, IB, IDUM, IFLAG, IL, K, KODE, L, M, N, NN, NW, NZ
21 DATA czero, cone / (0.0e0,0.0e0), (1.0e0,0.0e0) /
25 IF (az.EQ.0.0e0) go to 150
27 arm = 1.0e+3*r1mach(1)
29 crsc =
cmplx(1.0e0,0.0e0)
31 IF (az.LT.arm) go to 140
32 hz = z*
cmplx(0.5e0,0.0e0)
34 IF (az.GT.rtr1) cz = hz*hz
39 dfnu = fnu + float(nn-1)
44 ak1 = ck*
cmplx(dfnu,0.0e0)
46 ak1 = ak1 -
cmplx(ak,0.0e0)
47 IF (kode.EQ.2) ak1 = ak1 -
cmplx(
x,0.0e0)
49 IF (rak1.GT.(-elim)) go to 30
53 IF (acz.GT.dfnu) go to 170
58 IF (rak1.GT.(-alim)) go to 40
61 crsc =
cmplx(tol,0.0e0)
66 IF (iflag.EQ.1) aa = aa*ss
71 dfnu = fnu + float(nn-i)
74 IF (acz.LT.tol*fnup) go to 60
81 ak1 = ak1*cz*
cmplx(rs,0.0e0)
86 IF (aa.GT.atol) go to 50
91 IF (iflag.EQ.0) go to 70
92 CALL
cuchk(s2, nw, ascle, tol)
96 IF (i.NE.il) coef = coef*
cmplx(dfnu,0.0e0)/hz
102 IF (iflag.EQ.1) go to 110
106 y(k) =
cmplx(ak+fnu,0.0e0)*rz*y(k+1) + y(k+2)
123 s2 = s1 +
cmplx(ak+fnu,0.0e0)*rz*s2
129 IF (cabs(ck).GT.ascle) go to 130
138 IF (fnu.EQ.0.0e0) nz = nz - 1
141 IF (fnu.EQ.0.0e0) y(1) = cone
subroutine cseri(Z, FNU, KODE, N, Y, NZ, TOL, ELIM, ALIM)
std::string dimension(void) const
subroutine cuchk(Y, NZ, ASCLE, TOL)
octave_value sin(void) const
octave_value cos(void) const
octave_value sqrt(void) const
F77_RET_T const double * x