1 SUBROUTINE zbuni(ZR, ZI, FNU, KODE, N, YR, YI, NZ, NUI, NLAST,
2 * fnul, tol, elim, alim)
15 DOUBLE PRECISION alim, ax, ay, csclr, cscrr, cyi, cyr, dfnu,
16 * elim, fnu, fnui, fnul, gnu, raz, rzi, rzr, sti,
str, s1i, s1r,
17 * s2i, s2r, tol, yi, yr, zi, zr,
xzabs, ascle, bry, c1r, c1i, c1m,
19 INTEGER i, iflag, iform, k, kode, n, nl, nlast, nui, nw, nz
20 dimension yr(n), yi(n), cyr(2), cyi(2), bry(3)
22 ax = dabs(zr)*1.7321d0
25 IF (ay.GT.ax) iform = 2
26 IF (nui.EQ.0) go to 60
27 fnui = dble(float(nui))
28 dfnu = fnu + dble(float(n-1))
30 IF (iform.EQ.2) go to 10
35 CALL
zuni1(zr, zi, gnu, kode, 2, cyr, cyi, nw, nlast, fnul, tol,
44 CALL
zuni2(zr, zi, gnu, kode, 2, cyr, cyi, nw, nlast, fnul, tol,
59 IF (
str.GT.bry(1)) go to 21
65 IF (
str.LT.bry(2)) go to 25
75 raz = 1.0d0/
xzabs(zr,zi)
83 s2r = (dfnu+fnui)*(rzr*
str-rzi*sti) + s1r
84 s2i = (dfnu+fnui)*(rzr*sti+rzi*
str) + s1i
88 IF (iflag.GE.3) go to 30
94 IF (c1m.LE.ascle) go to 30
112 fnui = dble(float(nl))
117 s2r = (fnu+fnui)*(rzr*
str-rzi*sti) + s1r
118 s2i = (fnu+fnui)*(rzr*sti+rzi*
str) + s1i
127 IF (iflag.GE.3) go to 40
131 IF (c1m.LE.ascle) go to 40
151 IF (iform.EQ.2) go to 70
156 CALL
zuni1(zr, zi, fnu, kode, n, yr, yi, nw, nlast, fnul, tol,
165 CALL
zuni2(zr, zi, fnu, kode, n, yr, yi, nw, nlast, fnul, tol,
168 IF (nw.LT.0) go to 50