int cairy_wrap_e(npy_cdouble z, npy_cdouble *ai, npy_cdouble *aip, npy_cdouble *bi, npy_cdouble *bip) { int id = 0; int kode = 2; /* Exponential scaling */ int nz, ierr; ai->real = NPY_NAN; ai->imag = NPY_NAN; bi->real = NPY_NAN; bi->imag = NPY_NAN; aip->real = NPY_NAN; aip->imag = NPY_NAN; bip->real = NPY_NAN; bip->imag = NPY_NAN; F_FUNC(zairy,ZAIRY)(CADDR(z), &id, &kode, F2C_CST(ai), &nz, &ierr); DO_SFERR("airye:", ai); nz = 0; F_FUNC(zbiry,ZBIRY)(CADDR(z), &id, &kode, F2C_CST(bi), &ierr); DO_SFERR("airye:", bi); id = 1; F_FUNC(zairy,ZAIRY)(CADDR(z), &id, &kode, F2C_CST(aip), &nz, &ierr); DO_SFERR("airye:", aip); nz = 0; F_FUNC(zbiry,ZBIRY)(CADDR(z), &id, &kode, F2C_CST(bip), &ierr); DO_SFERR("airye:", bip); return 0; }
int cairy_wrap(npy_cdouble z, npy_cdouble *ai, npy_cdouble *aip, npy_cdouble *bi, npy_cdouble *bip) { int id = 0; int ierr = 0; int kode = 1; int nz; ai->real = NPY_NAN; ai->imag = NPY_NAN; bi->real = NPY_NAN; bi->imag = NPY_NAN; aip->real = NPY_NAN; aip->imag = NPY_NAN; bip->real = NPY_NAN; bip->imag = NPY_NAN; F_FUNC(zairy,ZAIRY)(CADDR(z), &id, &kode, F2C_CST(ai), &nz, &ierr); DO_SFERR("airy:", ai); nz = 0; F_FUNC(zbiry,ZBIRY)(CADDR(z), &id, &kode, F2C_CST(bi), &ierr); DO_SFERR("airy:", bi); id = 1; F_FUNC(zairy,ZAIRY)(CADDR(z), &id, &kode, F2C_CST(aip), &nz, &ierr); DO_SFERR("airy:", aip); nz = 0; F_FUNC(zbiry,ZBIRY)(CADDR(z), &id, &kode, F2C_CST(bip), &ierr); DO_SFERR("airy:", bip); return 0; }
int modified_fresnel_minus_wrap(double x, npy_cdouble *Fminus, npy_cdouble *Kminus) { int ks=1; double fm, fa, gm, ga; F_FUNC(ffk,FFK)(&ks,&x,F2C_CST(Fminus),&fm,&fa,F2C_CST(Kminus),&gm,&ga); return 0; }
int modified_fresnel_plus_wrap(double x, Py_complex *Fplus, Py_complex *Kplus) { int ks=0; double fm, fa, gm, ga; F_FUNC(ffk,FFK)(&ks,&x,F2C_CST(Fplus),&fm,&fa,F2C_CST(Kplus),&gm,&ga); return 0; }
int kelvin_wrap(double x, npy_cdouble *Be, npy_cdouble *Ke, npy_cdouble *Bep, npy_cdouble *Kep) { int flag = 0; if (x<0) {x=-x; flag=1;} F_FUNC(klvna,KLVNA)(&x, F2C_CST(Be), F2C_CST(Ke), F2C_CST(Bep), F2C_CST(Kep)); ZCONVINF("klvna", *Be); ZCONVINF("klvna", *Ke); ZCONVINF("klvna", *Bep); ZCONVINF("klvna", *Kep); if (flag) { REAL(*Bep) = -REAL(*Bep); IMAG(*Bep) = -IMAG(*Bep); REAL(*Ke) = NPY_NAN; IMAG(*Ke) = NPY_NAN; REAL(*Kep) = NPY_NAN; IMAG(*Kep) = NPY_NAN; } return 0; }
int cairy_wrap_e(Py_complex z, Py_complex *ai, Py_complex *aip, Py_complex *bi, Py_complex *bip) { int id = 0; int kode = 2; /* Exponential scaling */ int nz, ierr; F_FUNC(zairy,ZAIRY)(CADDR(z), &id, &kode, F2C_CST(ai), &nz, &ierr); DO_MTHERR("airye:", ai); nz = 0; F_FUNC(zbiry,ZBIRY)(CADDR(z), &id, &kode, F2C_CST(bi), &ierr); DO_MTHERR("airye:", bi); id = 1; F_FUNC(zairy,ZAIRY)(CADDR(z), &id, &kode, F2C_CST(aip), &nz, &ierr); DO_MTHERR("airye:", aip); nz = 0; F_FUNC(zbiry,ZBIRY)(CADDR(z), &id, &kode, F2C_CST(bip), &ierr); DO_MTHERR("airye:", bip); return 0; }
int cairy_wrap(Py_complex z, Py_complex *ai, Py_complex *aip, Py_complex *bi, Py_complex *bip) { int id = 0; int ierr = 0; int kode = 1; int nz; F_FUNC(zairy,ZAIRY)(CADDR(z), &id, &kode, F2C_CST(ai), &nz, &ierr); DO_MTHERR("airy:", ai); nz = 0; F_FUNC(zbiry,ZBIRY)(CADDR(z), &id, &kode, F2C_CST(bi), &ierr); DO_MTHERR("airy:", bi); id = 1; F_FUNC(zairy,ZAIRY)(CADDR(z), &id, &kode, F2C_CST(aip), &nz, &ierr); DO_MTHERR("airy:", aip); nz = 0; F_FUNC(zbiry,ZBIRY)(CADDR(z), &id, &kode, F2C_CST(bip), &ierr); DO_MTHERR("airy:", bip); return 0; }