1 SUBROUTINE cbesh(Z, FNU, KODE, M, N, CY, NZ, IERR)
155 COMPLEX CY, Z, ZN, ZT, CSGN
156 REAL AA, ALIM, ALN, ARG, AZ, CPN, DIG, ELIM, FMM, FN, FNU, FNUL,
157 * hpi, rhpi, rl, r1m5, sgn, spn, tol, ufl, xn, xx, yn, yy,
r1mach,
158 * bb, ascle, rtol, atol
159 INTEGER I, IERR, INU, INUH, IR, K, KODE, K1, K2, M,
160 * mm, mr, n, nn, nuf, nw, nz, i1mach
163 DATA hpi /1.57079632679489662e0/
170 IF (xx.EQ.0.0e0 .AND. yy.EQ.0.0e0) ierr=1
171 IF (fnu.LT.0.0e0) ierr=1
172 IF (m.LT.1 .OR. m.GT.2) ierr=1
173 IF (kode.LT.1 .OR. kode.GT.2) ierr=1
175 IF (ierr.NE.0)
RETURN
192 k = min0(iabs(k1),iabs(k2))
193 elim = 2.303e0*(float(k)*r1m5-3.0e0)
196 dig = amin1(aa,18.0e0)
198 alim = elim + amax1(-aa,-41.45e0)
199 fnul = 10.0e0 + 6.0e0*(dig-3.0e0)
200 rl = 1.2e0*dig + 3.0e0
201 fn = fnu + float(nn-1)
204 zn = z*
cmplx(0.0e0,-fmm)
212 bb=float(i1mach(9))*0.5e0
214 IF(az.GT.aa) go
to 240
215 IF(fn.GT.aa) go
to 240
223 IF (az.LT.ufl) go
to 220
224 IF (fnu.GT.fnul) go
to 90
225 IF (fn.LE.1.0e0) go
to 70
226 IF (fn.GT.2.0e0) go
to 60
227 IF (az.GT.tol) go
to 70
230 IF (aln.GT.elim) go
to 220
233 CALL
cuoik(zn, fnu, kode, 2, nn, cy, nuf, tol, elim, alim)
234 IF (nuf.LT.0) go
to 220
241 IF (nn.EQ.0) go
to 130
243 IF ((xn.LT.0.0e0) .OR. (xn.EQ.0.0e0 .AND. yn.LT.0.0e0 .AND.
249 CALL
cbknu(zn, fnu, kode, nn, cy, nz, tol, elim, alim)
256 CALL
cacon(zn, fnu, kode, mr, nn, cy, nw, rl, fnul, tol, elim,
258 IF (nw.LT.0) go
to 230
266 IF ((xn.GE.0.0e0) .AND. (xn.NE.0.0e0 .OR. yn.GE.0.0e0 .OR.
269 IF (xn.EQ.0.0e0 .AND. yn.LT.0.0e0) zn = -zn
271 CALL
cbunk(zn, fnu, kode, mr, nn, cy, nw, tol, elim, alim)
272 IF (nw.LT.0) go
to 230
288 arg = (fnu-float(inu-ir))*sgn
293 csgn =
cmplx(-spn,cpn)
295 IF (
mod(inuh,2).EQ.1) csgn = -csgn
296 zt =
cmplx(0.0e0,-fmm)
306 IF (amax1(
abs(aa),
abs(bb)).GT.ascle) go
to 125
307 zn = zn*
cmplx(rtol,0.0e0)
311 cy(i) = zn*
cmplx(atol,0.0e0)
316 IF (xn.LT.0.0e0) go
to 220
323 IF(nw.EQ.(-1)) go
to 220
subroutine cacon(Z, FNU, KODE, MR, N, Y, NZ, RL, FNUL, TOL, ELIM, ALIM)
octave_int< T > mod(const octave_int< T > &x, const octave_int< T > &y)
subroutine cbunk(Z, FNU, KODE, MR, N, Y, NZ, TOL, ELIM, ALIM)
octave_value sin(void) const
may be zero for pure relative error test tem the relative tolerance must be greater than or equal to
subroutine cbesh(Z, FNU, KODE, M, N, CY, NZ, IERR)
OCTAVE_EXPORT octave_value_list etc The functions then dimension(columns)
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))<
subroutine cbknu(Z, FNU, KODE, N, Y, NZ, TOL, ELIM, ALIM)
octave_value sqrt(void) const