1 SUBROUTINE zacai(ZR, ZI, FNU, KODE, MR, N, YR, YI, NZ, RL, TOL,
20 DOUBLE PRECISION ALIM, ARG, ASCLE, AZ, CSGNR, CSGNI, CSPNR,
21 * cspni, c1r, c1i, c2r, c2i, cyr, cyi, dfnu, elim, fmr, fnu, pi,
22 * rl, sgn, tol, yy, yr, yi, zr, zi, znr, zni,
d1mach, xzabs
23 INTEGER INU, IUF, KODE, MR, N, NN, NW, NZ
25 DATA pi / 3.14159265358979324d0 /
31 dfnu = fnu + dble(float(n-1))
32 IF (az.LE.2.0d0)
GO TO 10
33 IF (az*az*0.25d0.GT.dfnu+1.0d0)
GO TO 20
38 CALL zseri(znr, zni, fnu, kode, nn, yr, yi, nw, tol, elim, alim)
41 IF (az.LT.rl)
GO TO 30
45 CALL zasyi(znr, zni, fnu, kode, nn, yr, yi, nw, rl, tol, elim,
53 CALL zmlri(znr, zni, fnu, kode, nn, yr, yi, nw, tol)
59 CALL zbknu(znr, zni, fnu, kode, 1, cyr, cyi, nw, tol, elim, alim)
65 IF (kode.EQ.1)
GO TO 50
67 csgnr = -csgni*dsin(yy)
68 csgni = csgni*dcos(yy)
75 arg = (fnu-dble(float(inu)))*sgn
78 IF (
mod(inu,2).EQ.0)
GO TO 60
86 IF (kode.EQ.1)
GO TO 70
88 ascle = 1.0d+3*
d1mach(1)/tol
89 CALL zs1s2(znr, zni, c1r, c1i, c2r, c2i, nw, ascle, alim, iuf)
92 yr(1) = cspnr*c1r - cspni*c1i + csgnr*c2r - csgni*c2i
93 yi(1) = cspnr*c1i + cspni*c1r + csgnr*c2i + csgni*c2r
octave_int< T > mod(const octave_int< T > &x, const octave_int< T > &y)
double precision function d1mach(i)
OCTAVE_EXPORT octave_value_list etc The functions then dimension(columns)