11 #include "tbci/specfun/prototypes.h"
12 #include "tbci/specfun/prototypes2.h"
23 int zbesy_(
doublereal *zr,
doublereal *zi,
doublereal *fnu,
integer *kode,
integer *n,
doublereal *cyr,
doublereal *cyi,
integer *nz,
doublereal *cwrkr,
doublereal *cwrki,
integer *ierr)
30 double cos(
double),
sin(
double),
exp(
double);
43 static doublereal aa, bb, ey, c1i, c2i, c1r, c2r;
207 if (*zr == 0. && *zi == 0.) {
213 if (*kode < 1 || *kode > 2) {
223 zbesh_(zr, zi, fnu, kode, &
c__1, n, &cyr[1], &cyi[1], &nz1, ierr);
224 if (*ierr != 0 && *ierr != 3) {
227 zbesh_(zr, zi, fnu, kode, &
c__2, n, &cwrkr[1], &cwrki[1], &nz2, ierr);
228 if (*ierr != 0 && *ierr != 3) {
236 for (i__ = 1; i__ <= i__1; ++i__) {
237 str = cwrkr[i__] - cyr[i__];
238 sti = cwrki[i__] - cyi[i__];
239 cyr[i__] = -sti * hcii;
240 cyi[i__] = str * hcii;
247 tol =
max(d__1,1e-18);
251 i__1 =
abs(k1), i__2 =
abs(k2);
261 tay = (d__1 = *zi + *zi,
abs(d__1));
277 for (i__ = 1; i__ <= i__1; ++i__) {
288 d__1 =
abs(aa), d__2 =
abs(bb);
289 if (
max(d__1,d__2) > ascle) {
296 str = (aa * c2r - bb * c2i) * atol;
297 sti = (aa * c2i + bb * c2r) * atol;
302 d__1 =
abs(aa), d__2 =
abs(bb);
303 if (
max(d__1,d__2) > ascle) {
310 str -= (aa * c1r - bb * c1i) * atol;
311 sti -= (aa * c1i + bb * c1r) * atol;
312 cyr[i__] = -sti * hcii;
313 cyi[i__] = str * hcii;
314 if (str == 0. && sti == 0. && ey == 0.) {
TBCI__ cplx< T > cos(const TBCI__ cplx< T > &z)
int zbesh_(double *zr, double *zi, double *fnu, int *kode, int *m, int *n, double *cyr, double *cyi, int *nz, int *ierr)
int zbesy_(double *zr, double *zi, double *fnu, int *kode, int *n, double *cyr, double *cyi, int *nz, double *wcyr, double *wcyi, int *ierr)
T max(const FS_Vector< dims, T > &fv)
TBCI__ cplx< T > sin(const TBCI__ cplx< T > &z)
TBCI__ cplx< T > exp(const TBCI__ cplx< T > &z)
int integer
barf [ba:rf] 2.
doublereal d1mach_(const integer *)
integer i1mach_(const integer *)