1 SUBROUTINE zrati(ZR, ZI, FNU, N, CYR, CYI, TOL)
15 DOUBLE PRECISION AK, AMAGZ, AP1, AP2, ARG, AZ, CDFNUI, CDFNUR,
16 * conei, coner, cyi, cyr, czeroi, czeror, dfnu, fdnu, flam, fnu,
17 * fnup, pti, ptr, p1i, p1r, p2i, p2r, rak, rap1, rho, rt2, rzi,
18 * rzr, test, test1, tol, tti, ttr, t1i, t1r, zi, zr, xzabs
19 INTEGER I, ID, IDNU, INU, ITIME, K, KK, MAGZ, N
21 DATA czeror,czeroi,coner,conei,rt2/
22 1 0.0d0, 0.0d0, 1.0d0, 0.0d0, 1.41421356237309505d0 /
27 amagz = dble(float(magz+1))
28 fdnu = dble(float(idnu))
29 fnup = dmax1(amagz,fdnu)
35 rzi = -ptr*(zi+zi)*ptr
53 arg = (ap2+ap2)/(ap1*tol)
67 p2r = p1r - (t1r*ptr-t1i*pti)
68 p2i = p1i - (t1r*pti+t1i*ptr)
74 IF (ap1.LE.test) go
to 10
75 IF (itime.EQ.2) go
to 20
76 ak = xzabs(t1r,t1i)*0.5d0
77 flam = ak + dsqrt(ak*ak-1.0d0)
78 rho = dmin1(ap2/ap1,flam)
79 test = test1*dsqrt(rho/(rho*rho-1.0d0))
87 dfnu = fnu + dble(float(n-1))
98 p1r = (ptr*ttr-pti*tti) + p2r
99 p1i = (ptr*tti+pti*ttr) + p2i
104 IF (p1r.NE.czeror .OR. p1i.NE.czeroi) go
to 40
108 CALL
zdiv(p2r, p2i, p1r, p1i, cyr(n), cyi(n))
117 ptr = cdfnur + (t1r*rzr-t1i*rzi) + cyr(k+1)
118 pti = cdfnui + (t1r*rzi+t1i*rzr) + cyi(k+1)
120 IF (ak.NE.czeror) go
to 50
127 cyi(k) = -rak*pti*rak
subroutine zrati(ZR, ZI, FNU, N, CYR, CYI, TOL)
subroutine zdiv(AR, AI, BR, BI, CR, CI)
may be zero for pure relative error test tem the relative tolerance must be greater than or equal to
OCTAVE_EXPORT octave_value_list etc The functions then dimension(columns)