1 SUBROUTINE cbesi(Z, FNU, KODE, N, CY, NZ, IERR)
150 COMPLEX CONE, CSGN, CY, Z, ZN
151 REAL AA, ALIM, ARG, DIG, ELIM, FNU, FNUL, PI, RL, R1M5, S1, S2,
152 * tol, xx, yy,
r1mach, az, fn, bb, ascle, rtol, atol
153 INTEGER I, IERR, INU, K, KODE, K1, K2, N, NN, NZ, I1MACH
155 DATA pi /3.14159265358979324e0/
156 DATA cone / (1.0e0,0.0e0) /
161 IF (fnu.LT.0.0e0) ierr=1
162 IF (kode.LT.1 .OR. kode.GT.2) ierr=1
164 IF (ierr.NE.0)
RETURN
178 tol = amax1(
r1mach(4),1.0e-18)
182 k = min0(iabs(k1),iabs(k2))
183 elim = 2.303e0*(float(k)*r1m5-3.0e0)
186 dig = amin1(aa,18.0e0)
188 alim = elim + amax1(-aa,-41.45e0)
189 rl = 1.2e0*dig + 3.0e0
190 fnul = 10.0e0 + 6.0e0*(dig-3.0e0)
196 bb=float(i1mach(9))*0.5e0
198 IF(az.GT.aa) go to 140
200 IF(fn.GT.aa) go to 140
206 IF (xx.GE.0.0e0) go to 40
213 arg = (fnu-float(inu))*pi
214 IF (yy.LT.0.0e0) arg = -arg
218 IF (
mod(inu,2).EQ.1) csgn = -csgn
220 CALL
cbinu(zn, fnu, kode, n, cy, nz, rl, fnul, tol, elim, alim)
221 IF (nz.LT.0) go to 120
222 IF (xx.GE.0.0e0)
RETURN
229 ascle =
r1mach(1)*rtol*1.0e+3
236 IF (amax1(
abs(aa),
abs(bb)).GT.ascle) go to 55
237 zn = zn*
cmplx(rtol,0.0e0)
241 cy(i) = zn*
cmplx(atol,0.0e0)
246 IF(nz.EQ.(-2)) go to 130
std::string dimension(void) const
octave_int< T > mod(const octave_int< T > &x, const octave_int< T > &y)
subroutine cbesi(Z, FNU, KODE, N, CY, NZ, IERR)
octave_value sin(void) const
octave_value cos(void) const
octave_value sqrt(void) const
subroutine cbinu(Z, FNU, KODE, N, CY, NZ, RL, FNUL, TOL, ELIM, ALIM)