1 SUBROUTINE cuni1(Z, FNU, KODE, N, Y, NZ, NLAST, FNUL, TOL, ELIM,
17 COMPLEX CFN, CONE, CRSC, CSCL, CSR, CSS, CWRK, CZERO, C1, C2,
18 * phi, rz, sum, s1, s2, y, z, zeta1, zeta2, cy
19 REAL ALIM, APHI, ASCLE, BRY, C2I, C2M, C2R, ELIM, FN, FNU, FNUL,
20 * rs1, tol, yy, r1mach
21 INTEGER I, IFLAG, INIT, K, KODE, M, N, ND, NLAST, NN, NUF, NW, NZ
22 dimension bry(3), y(n), cwrk(16), css(3), csr(3), cy(2)
23 DATA czero, cone / (0.0e0,0.0e0), (1.0e0,0.0e0) /
33 cscl =
cmplx(1.0e0/tol,0.0e0)
34 crsc =
cmplx(tol,0.0e0)
41 bry(1) = 1.0
e+3*r1mach(1)/tol
47 CALL
cunik(z, fn, 1, 1, tol, init, phi, zeta1, zeta2, sum, cwrk)
48 IF (kode.EQ.1) go
to 10
50 s1 = -zeta1 + cfn*(cfn/(z+zeta2))
56 IF (
abs(rs1).GT.elim) go
to 130
60 fn = fnu + float(nd-i)
62 CALL
cunik(z, fn, 1, 0, tol, init, phi, zeta1, zeta2, sum, cwrk)
63 IF (kode.EQ.1) go
to 40
66 s1 = -zeta1 + cfn*(cfn/(z+zeta2)) +
cmplx(0.0e0,yy)
75 IF (
abs(rs1).GT.elim) go
to 110
77 IF (
abs(rs1).LT.alim) go
to 60
82 rs1 = rs1 + alog(aphi)
83 IF (
abs(rs1).GT.elim) go
to 110
85 IF (rs1.LT.0.0e0) go
to 60
94 c2m =
exp(c2r)*
REAL(css(iflag))
97 IF (iflag.NE.1) go
to 70
98 CALL
cuchk(s2, nw, bry(1), tol)
99 IF (nw.NE.0) go
to 110
105 IF (nd.LE.2) go
to 100
106 rz =
cmplx(2.0e0,0.0e0)/z
107 bry(2) = 1.0e0/bry(1)
117 s2 = s1 +
cmplx(fnu+fn,0.0e0)*rz*s2
123 IF (iflag.GE.3) go
to 90
129 IF (c2m.LE.ascle) go
to 90
144 IF (rs1.GT.0.0e0) go
to 120
148 IF (nd.EQ.0) go
to 100
149 CALL
cuoik(z, fnu, kode, 1, nd, y, nuf, tol, elim, alim)
150 IF (nuf.LT.0) go
to 120
153 IF (nd.EQ.0) go
to 100
154 fn = fnu + float(nd-1)
155 IF (fn.GE.fnul) go
to 30
162 IF (rs1.GT.0.0e0) go
to 120
subroutine cuni1(Z, FNU, KODE, N, Y, NZ, NLAST, FNUL, TOL, ELIM, ALIM)
subroutine cuchk(Y, NZ, ASCLE, TOL)
octave_value sin(void) const
may be zero for pure relative error test tem the relative tolerance must be greater than or equal to
OCTAVE_EXPORT octave_value_list etc The functions then dimension(columns)
subroutine cunik(ZR, FNU, IKFLG, IPMTR, TOL, INIT, PHI, ZETA1, ZETA2, SUM, CWRK)
subroutine cuoik(Z, FNU, KODE, IKFLG, N, Y, NUF, TOL, ELIM, ALIM)
octave_value cos(void) const
OCTAVE_EXPORT octave_value_list return the value of the option it must match the dimension of the state and the relative tolerance must also be a vector of the same length tem it must match the dimension of the state and the absolute tolerance must also be a vector of the same length The local error test applied at each integration step is xample roup abs(local error in x(i))<