1 SUBROUTINE zbesj(ZR, ZI, FNU, KODE, N, CYR, CYI, NZ, IERR)
148 DOUBLE PRECISION AA, ALIM, ARG, CII, CSGNI, CSGNR, CYI, CYR, DIG,
149 * ELIM, FNU, FNUL, HPI, RL, R1M5, STR, TOL, ZI, ZNI, ZNR, ZR,
150 * D1MACH, BB, FN, AZ, XZABS, ASCLE, RTOL, ATOL, STI
151 INTEGER I, IERR, INU, INUH, IR, K, KODE, K1, K2, N, NL, NZ, I1MACH
152 dimension cyr(n), cyi(n)
153 DATA hpi /1.57079632679489662d0/
158 IF (fnu.LT.0.0d0) ierr=1
159 IF (kode.LT.1 .OR. kode.GT.2) ierr=1
161 IF (ierr.NE.0)
RETURN
173 tol = dmax1(d1mach(4),1.0d-18)
177 k = min0(iabs(k1),iabs(k2))
178 elim = 2.303d0*(dble(float(k))*r1m5-3.0d0)
180 aa = r1m5*dble(float(k1))
181 dig = dmin1(aa,18.0d0)
183 alim = elim + dmax1(-aa,-41.45d0)
184 rl = 1.2d0*dig + 3.0d0
185 fnul = 10.0d0 + 6.0d0*(dig-3.0d0)
190 fn = fnu+dble(float(n-1))
192 bb=dble(float(i1mach(9)))*0.5d0
194 IF (az.GT.aa)
GO TO 260
195 IF (fn.GT.aa)
GO TO 260
208 arg = (fnu-dble(float(inu-ir)))*hpi
211 IF (
mod(inuh,2).EQ.0)
GO TO 40
220 IF (zi.GE.0.0d0)
GO TO 50
226 CALL zbinu(znr, zni, fnu, kode, n, cyr, cyi, nz, rl, fnul, tol,
228 IF (nz.LT.0)
GO TO 130
232 ascle = d1mach(1)*rtol*1.0d+3
240 IF (dmax1(dabs(aa),dabs(bb)).GT.ascle)
GO TO 55
245 str = aa*csgnr - bb*csgni
246 sti = aa*csgni + bb*csgnr
255 IF(nz.EQ.(-2))
GO TO 140
subroutine zbesj(ZR, ZI, FNU, KODE, N, CYR, CYI, NZ, IERR)
subroutine zbinu(ZR, ZI, FNU, KODE, N, CYR, CYI, NZ, RL, FNUL, TOL, ELIM, ALIM)