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,
49 str =
xzabs(cyr(1),cyi(1))
53 bry(1)=1.0d+3*
d1mach(1)/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
double precision function d1mach(i)
double precision function xzabs(ZR, ZI)
subroutine zbuni(ZR, ZI, FNU, KODE, N, YR, YI, NZ, NUI, NLAST, FNUL, TOL, ELIM, ALIM)
subroutine zuni1(ZR, ZI, FNU, KODE, N, YR, YI, NZ, NLAST, FNUL, TOL, ELIM, ALIM)
subroutine zuni2(ZR, ZI, FNU, KODE, N, YR, YI, NZ, NLAST, FNUL, TOL, ELIM, ALIM)