#include #include #include #include "libnumarray.h" #ifdef MS_WIN32 #pragma warning(once : 4244) #endif #define logical_and(arg1, arg2) (arg1 != 0) & (arg2 != 0) #define logical_or(arg1, arg2) (arg1 != 0) | (arg2 != 0) #define logical_xor(arg1, arg2) ((arg1 != 0) ^ (arg2 != 0)) & 1 #define ufmaximum(arg1, arg2) (((temp1=arg1) > (temp2=arg2)) ? temp1 : temp2) #define ufminimum(arg1, arg2) (((temp1=arg1) < (temp2=arg2)) ? temp1 : temp2) #define distance3d(x,y,z) sqrt(x*x + y*y + z*z) #include "cephes.h" double besselpoly(double a, double lambda, double nu); Complex64 cbesi_wrap( double v, Complex64 z); Complex64 cbesi_wrap_e( double v, Complex64 z); Complex64 cbesj_wrap( double v, Complex64 z); Complex64 cbesj_wrap_e( double v, Complex64 z); Complex64 cbesy_wrap( double v, Complex64 z); Complex64 cbesy_wrap_e( double v, Complex64 z); Complex64 cbesk_wrap( double v, Complex64 z); Complex64 cbesk_wrap_e( double v, Complex64 z); Complex64 cbesh_wrap1( double v, Complex64 z); Complex64 cbesh_wrap1_e( double v, Complex64 z); Complex64 cbesh_wrap2( double v, Complex64 z); Complex64 cbesh_wrap2_e( double v, Complex64 z); extern double cdfbet3_wrap(double p, double x, double b); extern double cdfbet4_wrap(double p, double x, double a); extern double cdfbin2_wrap(double p, double xn, double pr); extern double cdfbin3_wrap(double p, double s, double pr); extern double cdfchi3_wrap(double p, double x); extern double cdfchn1_wrap(double x, double df, double nc); extern double cdfchn2_wrap(double p, double df, double nc); extern double cdfchn3_wrap(double p, double x, double nc); extern double cdfchn4_wrap(double p, double x, double df); extern double cdff3_wrap(double p, double f, double dfd); extern double cdff4_wrap(double p, double f, double dfn); extern double cdffnc1_wrap(double f, double dfn, double dfd, double nc); extern double cdffnc2_wrap(double p, double dfn, double dfd, double nc); extern double cdffnc3_wrap(double p, double f, double dfd, double nc); extern double cdffnc4_wrap(double p, double f, double dfn, double nc); extern double cdffnc5_wrap(double p, double f, double dfn, double dfd); extern double cdfgam1_wrap(double p, double x, double scl); extern double cdfgam2_wrap(double p, double x, double shp); extern double cdfgam3_wrap(double p, double x, double scl); extern double cdfgam4_wrap(double p, double x, double shp); extern double cdfnbn2_wrap(double p, double xn, double pr); extern double cdfnbn3_wrap(double p, double s, double pr); extern double cdfnor3_wrap(double p, double x, double std); extern double cdfnor4_wrap(double p, double x, double mn); extern double cdfpoi2_wrap(double p, double xlam); extern double cdft1_wrap(double p, double t); extern double cdft2_wrap(double p, double t); extern double cdft3_wrap(double p, double t); extern double cdftnc1_wrap(double df, double nc, double t); extern double cdftnc2_wrap(double df, double nc, double p); extern double cdftnc3_wrap(double p, double nc, double t); extern double cdftnc4_wrap(double df, double p, double t); extern double tukeylambdacdf(double x, double lambda); Complex64 cgamma_wrap( Complex64 z); Complex64 clngamma_wrap( Complex64 z); Complex64 cpsi_wrap( Complex64 z); Complex64 crgamma_wrap( Complex64 z); Complex64 chyp2f1_wrap( double a, double b, double c, Complex64 z); Complex64 chyp1f1_wrap( double a, double b, Complex64 z); double hypU_wrap(double a, double b, double x); double exp1_wrap(double x); double expi_wrap(double x); Complex64 cexp1_wrap( Complex64 z); Complex64 cerf_wrap( Complex64 z); int itairy_wrap(double x, double *apt, double *bpt, double *ant, double *bnt); double struve_wrap(double v, double x); double itstruve0_wrap(double x); double it2struve0_wrap(double x); double modstruve_wrap(double v, double x); double itmodstruve0_wrap(double x); double ber_wrap(double x); double bei_wrap(double x); double ker_wrap(double x); double kei_wrap(double x); double berp_wrap(double x); double beip_wrap(double x); double kerp_wrap(double x); double keip_wrap(double x); int kelvin_wrap(double x, Complex64 *Be, Complex64 *Ke, Complex64 *Bep, Complex64 *Kep); int it1j0y0_wrap(double x, double *, double *); int it2j0y0_wrap(double x, double *, double *); int it1i0k0_wrap(double x, double *, double *); int it2i0k0_wrap(double x, double *, double *); int cfresnl_wrap(Complex64 x, Complex64 *sf, Complex64 *cf); double cem_cva_wrap(double m, double q); double sem_cva_wrap(double m, double q); int cem_wrap(double m, double q, double x, double *csf, double *csd); int sem_wrap(double m, double q, double x, double *csf, double *csd); int mcm1_wrap(double m, double q, double x, double *f1r, double *d1r); int msm1_wrap(double m, double q, double x, double *f1r, double *d1r); int mcm2_wrap(double m, double q, double x, double *f2r, double *d2r); int msm2_wrap(double m, double q, double x, double *f2r, double *d2r); double pmv_wrap(double, double, double); int pbwa_wrap(double, double, double *, double *); int pbdv_wrap(double, double, double *, double *); int pbvv_wrap(double, double, double *, double *); int prolate_aswfa_wrap(double, double, double, double, double, double *, double *); int prolate_radial1_wrap(double, double, double, double, double, double *, double *); int prolate_radial2_wrap(double, double, double, double, double, double *, double *); /* int oblate_aswfa_wrap(double, double, double, double, double, double *, double *); int oblate_radial1_wrap(double, double, double, double, double, double *, double *); int oblate_radial2_wrap(double, double, double, double, double, double *, double *); double prolate_aswfa_nocv_wrap(double, double, double, double, double *); double prolate_radial1_nocv_wrap(double, double, double, double, double *); double prolate_radial2_nocv_wrap(double, double, double, double, double *); double oblate_aswfa_nocv_wrap(double, double, double, double, double *); double oblate_radial1_nocv_wrap(double, double, double, double, double *); double oblate_radial2_nocv_wrap(double, double, double, double, double *); */ double prolate_segv_wrap(double, double, double); double oblate_segv_wrap(double, double, double); int modified_fresnel_plus_wrap(double x, Complex64 *F, Complex64 *K); int modified_fresnel_minus_wrap(double x, Complex64 *F, Complex64 *K); extern Complex64 cwofz_wrap(Complex64 z); static int airy_fxffff_vxvvvv(long niter, long ninargs, long noutargs, void **buffers, long *bsizes) { long i; Float32 *tin0 = (Float32 *) buffers[0]; Float32 *tout0 = (Float32 *) buffers[1]; Float32 *tout1 = (Float32 *) buffers[2]; Float32 *tout2 = (Float32 *) buffers[3]; Float32 *tout3 = (Float32 *) buffers[4]; Float64 result0; Float64 result1; Float64 result2; Float64 result3; BEGIN_THREADS for (i=0; ir; input0.i = tin0->i; cairy_wrap(input0, &result0, &result1, &result2, &result3); tout0->r = result0.r; tout0->i = result0.i; tout1->r = result1.r; tout1->i = result1.i; tout2->r = result2.r; tout2->i = result2.i; tout3->r = result3.r; tout3->i = result3.i; ++tin0; ++tout0; ++tout1; ++tout2; ++tout3; } END_THREADS return 0; } static CfuncDescriptor airy_FxFFFF_vxvvvv_descr = { "airy_FxFFFF_vxvvvv", (void *) airy_FxFFFF_vxvvvv, CFUNC_UFUNC, 0, CHECK_ALIGN, 1, 4, { sizeof(Complex32), sizeof(Complex32), sizeof(Complex32), sizeof(Complex32), sizeof(Complex32) }, { 0, 0, 0, 0, 0, 0 } }; static int airy_DxDDDD_vxvvvv(long niter, long ninargs, long noutargs, void **buffers, long *bsizes) { long i; Complex64 *tin0 = (Complex64 *) buffers[0]; Complex64 *tout0 = (Complex64 *) buffers[1]; Complex64 *tout1 = (Complex64 *) buffers[2]; Complex64 *tout2 = (Complex64 *) buffers[3]; Complex64 *tout3 = (Complex64 *) buffers[4]; BEGIN_THREADS for (i=0; ir; input0.i = tin0->i; cairy_wrap_e(input0, &result0, &result1, &result2, &result3); tout0->r = result0.r; tout0->i = result0.i; tout1->r = result1.r; tout1->i = result1.i; tout2->r = result2.r; tout2->i = result2.i; tout3->r = result3.r; tout3->i = result3.i; ++tin0; ++tout0; ++tout1; ++tout2; ++tout3; } END_THREADS return 0; } static CfuncDescriptor airye_FxFFFF_vxvvvv_descr = { "airye_FxFFFF_vxvvvv", (void *) airye_FxFFFF_vxvvvv, CFUNC_UFUNC, 0, CHECK_ALIGN, 1, 4, { sizeof(Complex32), sizeof(Complex32), sizeof(Complex32), sizeof(Complex32), sizeof(Complex32) }, { 0, 0, 0, 0, 0, 0 } }; static int airye_DxDDDD_vxvvvv(long niter, long ninargs, long noutargs, void **buffers, long *bsizes) { long i; Complex64 *tin0 = (Complex64 *) buffers[0]; Complex64 *tout0 = (Complex64 *) buffers[1]; Complex64 *tout1 = (Complex64 *) buffers[2]; Complex64 *tout2 = (Complex64 *) buffers[3]; Complex64 *tout3 = (Complex64 *) buffers[4]; BEGIN_THREADS for (i=0; ir; input0.i = tin0->i; result0 = cerf_wrap(input0); tout0->r = result0.r; tout0->i = result0.i; ++tin0; ++tout0; } END_THREADS return 0; } static CfuncDescriptor erf_FxF_vxf_descr = { "erf_FxF_vxf", (void *) erf_FxF_vxf, CFUNC_UFUNC, 0, CHECK_ALIGN, 1, 1, { sizeof(Complex32), sizeof(Complex32) }, { 0, 0, 0 } }; static int erf_DxD_vxf(long niter, long ninargs, long noutargs, void **buffers, long *bsizes) { long i; Complex64 *tin0 = (Complex64 *) buffers[0]; Complex64 *tout0 = (Complex64 *) buffers[1]; BEGIN_THREADS for (i=0; ir; input0.i = tin0->i; result0 = cexp1_wrap(input0); tout0->r = result0.r; tout0->i = result0.i; ++tin0; ++tout0; } END_THREADS return 0; } static CfuncDescriptor exp1_FxF_vxf_descr = { "exp1_FxF_vxf", (void *) exp1_FxF_vxf, CFUNC_UFUNC, 0, CHECK_ALIGN, 1, 1, { sizeof(Complex32), sizeof(Complex32) }, { 0, 0, 0 } }; static int exp1_DxD_vxf(long niter, long ninargs, long noutargs, void **buffers, long *bsizes) { long i; Complex64 *tin0 = (Complex64 *) buffers[0]; Complex64 *tout0 = (Complex64 *) buffers[1]; BEGIN_THREADS for (i=0; ir; input0.i = tin0->i; cfresnl_wrap(input0, &result0, &result1); tout0->r = result0.r; tout0->i = result0.i; tout1->r = result1.r; tout1->i = result1.i; ++tin0; ++tout0; ++tout1; } END_THREADS return 0; } static CfuncDescriptor fresnel_FxFF_vxvv_descr = { "fresnel_FxFF_vxvv", (void *) fresnel_FxFF_vxvv, CFUNC_UFUNC, 0, CHECK_ALIGN, 1, 2, { sizeof(Complex32), sizeof(Complex32), sizeof(Complex32) }, { 0, 0, 0, 0 } }; static int fresnel_DxDD_vxvv(long niter, long ninargs, long noutargs, void **buffers, long *bsizes) { long i; Complex64 *tin0 = (Complex64 *) buffers[0]; Complex64 *tout0 = (Complex64 *) buffers[1]; Complex64 *tout1 = (Complex64 *) buffers[2]; BEGIN_THREADS for (i=0; ir; input0.i = tin0->i; result0 = cgamma_wrap(input0); tout0->r = result0.r; tout0->i = result0.i; ++tin0; ++tout0; } END_THREADS return 0; } static CfuncDescriptor gamma_FxF_vxf_descr = { "gamma_FxF_vxf", (void *) gamma_FxF_vxf, CFUNC_UFUNC, 0, CHECK_ALIGN, 1, 1, { sizeof(Complex32), sizeof(Complex32) }, { 0, 0, 0 } }; static int gamma_DxD_vxf(long niter, long ninargs, long noutargs, void **buffers, long *bsizes) { long i; Complex64 *tin0 = (Complex64 *) buffers[0]; Complex64 *tout0 = (Complex64 *) buffers[1]; BEGIN_THREADS for (i=0; ir; input0.i = tin0->i; result0 = clngamma_wrap(input0); tout0->r = result0.r; tout0->i = result0.i; ++tin0; ++tout0; } END_THREADS return 0; } static CfuncDescriptor gammaln_FxF_vxf_descr = { "gammaln_FxF_vxf", (void *) gammaln_FxF_vxf, CFUNC_UFUNC, 0, CHECK_ALIGN, 1, 1, { sizeof(Complex32), sizeof(Complex32) }, { 0, 0, 0 } }; static int gammaln_DxD_vxf(long niter, long ninargs, long noutargs, void **buffers, long *bsizes) { long i; Complex64 *tin0 = (Complex64 *) buffers[0]; Complex64 *tout0 = (Complex64 *) buffers[1]; BEGIN_THREADS for (i=0; ir; input1.i = tin1->i; result0 = cbesh_wrap1(*tin0, input1); tout0->r = result0.r; tout0->i = result0.i; ++tin0; ++tin1; ++tout0; } END_THREADS return 0; } static CfuncDescriptor hankel1_fFxF_vvxf_descr = { "hankel1_fFxF_vvxf", (void *) hankel1_fFxF_vvxf, CFUNC_UFUNC, 0, CHECK_ALIGN, 2, 1, { sizeof(Float32), sizeof(Complex32), sizeof(Complex32) }, { 0, 0, 0, 0 } }; static int hankel1_dDxD_vvxf(long niter, long ninargs, long noutargs, void **buffers, long *bsizes) { long i; Float64 *tin0 = (Float64 *) buffers[0]; Complex64 *tin1 = (Complex64 *) buffers[1]; Complex64 *tout0 = (Complex64 *) buffers[2]; BEGIN_THREADS for (i=0; ir; input1.i = tin1->i; result0 = cbesh_wrap1_e(*tin0, input1); tout0->r = result0.r; tout0->i = result0.i; ++tin0; ++tin1; ++tout0; } END_THREADS return 0; } static CfuncDescriptor hankel1e_fFxF_vvxf_descr = { "hankel1e_fFxF_vvxf", (void *) hankel1e_fFxF_vvxf, CFUNC_UFUNC, 0, CHECK_ALIGN, 2, 1, { sizeof(Float32), sizeof(Complex32), sizeof(Complex32) }, { 0, 0, 0, 0 } }; static int hankel1e_dDxD_vvxf(long niter, long ninargs, long noutargs, void **buffers, long *bsizes) { long i; Float64 *tin0 = (Float64 *) buffers[0]; Complex64 *tin1 = (Complex64 *) buffers[1]; Complex64 *tout0 = (Complex64 *) buffers[2]; BEGIN_THREADS for (i=0; ir; input1.i = tin1->i; result0 = cbesh_wrap2(*tin0, input1); tout0->r = result0.r; tout0->i = result0.i; ++tin0; ++tin1; ++tout0; } END_THREADS return 0; } static CfuncDescriptor hankel2_fFxF_vvxf_descr = { "hankel2_fFxF_vvxf", (void *) hankel2_fFxF_vvxf, CFUNC_UFUNC, 0, CHECK_ALIGN, 2, 1, { sizeof(Float32), sizeof(Complex32), sizeof(Complex32) }, { 0, 0, 0, 0 } }; static int hankel2_dDxD_vvxf(long niter, long ninargs, long noutargs, void **buffers, long *bsizes) { long i; Float64 *tin0 = (Float64 *) buffers[0]; Complex64 *tin1 = (Complex64 *) buffers[1]; Complex64 *tout0 = (Complex64 *) buffers[2]; BEGIN_THREADS for (i=0; ir; input1.i = tin1->i; result0 = cbesh_wrap2_e(*tin0, input1); tout0->r = result0.r; tout0->i = result0.i; ++tin0; ++tin1; ++tout0; } END_THREADS return 0; } static CfuncDescriptor hankel2e_fFxF_vvxf_descr = { "hankel2e_fFxF_vvxf", (void *) hankel2e_fFxF_vvxf, CFUNC_UFUNC, 0, CHECK_ALIGN, 2, 1, { sizeof(Float32), sizeof(Complex32), sizeof(Complex32) }, { 0, 0, 0, 0 } }; static int hankel2e_dDxD_vvxf(long niter, long ninargs, long noutargs, void **buffers, long *bsizes) { long i; Float64 *tin0 = (Float64 *) buffers[0]; Complex64 *tin1 = (Complex64 *) buffers[1]; Complex64 *tout0 = (Complex64 *) buffers[2]; BEGIN_THREADS for (i=0; ir; input2.i = tin2->i; result0 = chyp1f1_wrap(*tin0, *tin1, input2); tout0->r = result0.r; tout0->i = result0.i; ++tin0; ++tin1; ++tin2; ++tout0; } END_THREADS return 0; } static CfuncDescriptor hyp1f1_ffFxF_vvvxf_descr = { "hyp1f1_ffFxF_vvvxf", (void *) hyp1f1_ffFxF_vvvxf, CFUNC_UFUNC, 0, CHECK_ALIGN, 3, 1, { sizeof(Float32), sizeof(Float32), sizeof(Complex32), sizeof(Complex32) }, { 0, 0, 0, 0, 0 } }; static int hyp1f1_ddDxD_vvvxf(long niter, long ninargs, long noutargs, void **buffers, long *bsizes) { long i; Float64 *tin0 = (Float64 *) buffers[0]; Float64 *tin1 = (Float64 *) buffers[1]; Complex64 *tin2 = (Complex64 *) buffers[2]; Complex64 *tout0 = (Complex64 *) buffers[3]; BEGIN_THREADS for (i=0; ir; input3.i = tin3->i; result0 = chyp2f1_wrap(*tin0, *tin1, *tin2, input3); tout0->r = result0.r; tout0->i = result0.i; ++tin0; ++tin1; ++tin2; ++tin3; ++tout0; } END_THREADS return 0; } static CfuncDescriptor hyp2f1_fffFxF_vvvvxf_descr = { "hyp2f1_fffFxF_vvvvxf", (void *) hyp2f1_fffFxF_vvvvxf, CFUNC_UFUNC, 0, CHECK_ALIGN, 4, 1, { sizeof(Float32), sizeof(Float32), sizeof(Float32), sizeof(Complex32), sizeof(Complex32) }, { 0, 0, 0, 0, 0, 0 } }; static int hyp2f1_dddDxD_vvvvxf(long niter, long ninargs, long noutargs, void **buffers, long *bsizes) { long i; Float64 *tin0 = (Float64 *) buffers[0]; Float64 *tin1 = (Float64 *) buffers[1]; Float64 *tin2 = (Float64 *) buffers[2]; Complex64 *tin3 = (Complex64 *) buffers[3]; Complex64 *tout0 = (Complex64 *) buffers[4]; BEGIN_THREADS for (i=0; ir; input1.i = tin1->i; result0 = cbesi_wrap(*tin0, input1); tout0->r = result0.r; tout0->i = result0.i; ++tin0; ++tin1; ++tout0; } END_THREADS return 0; } static CfuncDescriptor iv_fFxF_vvxf_descr = { "iv_fFxF_vvxf", (void *) iv_fFxF_vvxf, CFUNC_UFUNC, 0, CHECK_ALIGN, 2, 1, { sizeof(Float32), sizeof(Complex32), sizeof(Complex32) }, { 0, 0, 0, 0 } }; static int iv_dDxD_vvxf(long niter, long ninargs, long noutargs, void **buffers, long *bsizes) { long i; Float64 *tin0 = (Float64 *) buffers[0]; Complex64 *tin1 = (Complex64 *) buffers[1]; Complex64 *tout0 = (Complex64 *) buffers[2]; BEGIN_THREADS for (i=0; ir; input1.i = tin1->i; result0 = cbesi_wrap_e(*tin0, input1); tout0->r = result0.r; tout0->i = result0.i; ++tin0; ++tin1; ++tout0; } END_THREADS return 0; } static CfuncDescriptor ive_fFxF_vvxf_descr = { "ive_fFxF_vvxf", (void *) ive_fFxF_vvxf, CFUNC_UFUNC, 0, CHECK_ALIGN, 2, 1, { sizeof(Float32), sizeof(Complex32), sizeof(Complex32) }, { 0, 0, 0, 0 } }; static int ive_dDxD_vvxf(long niter, long ninargs, long noutargs, void **buffers, long *bsizes) { long i; Float64 *tin0 = (Float64 *) buffers[0]; Complex64 *tin1 = (Complex64 *) buffers[1]; Complex64 *tout0 = (Complex64 *) buffers[2]; BEGIN_THREADS for (i=0; ir; input1.i = tin1->i; result0 = cbesj_wrap(*tin0, input1); tout0->r = result0.r; tout0->i = result0.i; ++tin0; ++tin1; ++tout0; } END_THREADS return 0; } static CfuncDescriptor jv_fFxF_vvxf_descr = { "jv_fFxF_vvxf", (void *) jv_fFxF_vvxf, CFUNC_UFUNC, 0, CHECK_ALIGN, 2, 1, { sizeof(Float32), sizeof(Complex32), sizeof(Complex32) }, { 0, 0, 0, 0 } }; static int jv_dDxD_vvxf(long niter, long ninargs, long noutargs, void **buffers, long *bsizes) { long i; Float64 *tin0 = (Float64 *) buffers[0]; Complex64 *tin1 = (Complex64 *) buffers[1]; Complex64 *tout0 = (Complex64 *) buffers[2]; BEGIN_THREADS for (i=0; ir; input1.i = tin1->i; result0 = cbesj_wrap_e(*tin0, input1); tout0->r = result0.r; tout0->i = result0.i; ++tin0; ++tin1; ++tout0; } END_THREADS return 0; } static CfuncDescriptor jve_fFxF_vvxf_descr = { "jve_fFxF_vvxf", (void *) jve_fFxF_vvxf, CFUNC_UFUNC, 0, CHECK_ALIGN, 2, 1, { sizeof(Float32), sizeof(Complex32), sizeof(Complex32) }, { 0, 0, 0, 0 } }; static int jve_dDxD_vvxf(long niter, long ninargs, long noutargs, void **buffers, long *bsizes) { long i; Float64 *tin0 = (Float64 *) buffers[0]; Complex64 *tin1 = (Complex64 *) buffers[1]; Complex64 *tout0 = (Complex64 *) buffers[2]; BEGIN_THREADS for (i=0; ir = result0.r; tout0->i = result0.i; tout1->r = result1.r; tout1->i = result1.i; tout2->r = result2.r; tout2->i = result2.i; tout3->r = result3.r; tout3->i = result3.i; ++tin0; ++tout0; ++tout1; ++tout2; ++tout3; } END_THREADS return 0; } static CfuncDescriptor kelvin_fxFFFF_vxvvvv_descr = { "kelvin_fxFFFF_vxvvvv", (void *) kelvin_fxFFFF_vxvvvv, CFUNC_UFUNC, 0, CHECK_ALIGN, 1, 4, { sizeof(Float32), sizeof(Complex32), sizeof(Complex32), sizeof(Complex32), sizeof(Complex32) }, { 0, 0, 0, 0, 0, 0 } }; static int kelvin_dxDDDD_vxvvvv(long niter, long ninargs, long noutargs, void **buffers, long *bsizes) { long i; Float64 *tin0 = (Float64 *) buffers[0]; Complex64 *tout0 = (Complex64 *) buffers[1]; Complex64 *tout1 = (Complex64 *) buffers[2]; Complex64 *tout2 = (Complex64 *) buffers[3]; Complex64 *tout3 = (Complex64 *) buffers[4]; BEGIN_THREADS for (i=0; ir; input1.i = tin1->i; result0 = cbesk_wrap(*tin0, input1); tout0->r = result0.r; tout0->i = result0.i; ++tin0; ++tin1; ++tout0; } END_THREADS return 0; } static CfuncDescriptor kv_fFxF_vvxf_descr = { "kv_fFxF_vvxf", (void *) kv_fFxF_vvxf, CFUNC_UFUNC, 0, CHECK_ALIGN, 2, 1, { sizeof(Float32), sizeof(Complex32), sizeof(Complex32) }, { 0, 0, 0, 0 } }; static int kv_dDxD_vvxf(long niter, long ninargs, long noutargs, void **buffers, long *bsizes) { long i; Float64 *tin0 = (Float64 *) buffers[0]; Complex64 *tin1 = (Complex64 *) buffers[1]; Complex64 *tout0 = (Complex64 *) buffers[2]; BEGIN_THREADS for (i=0; ir; input1.i = tin1->i; result0 = cbesk_wrap_e(*tin0, input1); tout0->r = result0.r; tout0->i = result0.i; ++tin0; ++tin1; ++tout0; } END_THREADS return 0; } static CfuncDescriptor kve_fFxF_vvxf_descr = { "kve_fFxF_vvxf", (void *) kve_fFxF_vvxf, CFUNC_UFUNC, 0, CHECK_ALIGN, 2, 1, { sizeof(Float32), sizeof(Complex32), sizeof(Complex32) }, { 0, 0, 0, 0 } }; static int kve_dDxD_vvxf(long niter, long ninargs, long noutargs, void **buffers, long *bsizes) { long i; Float64 *tin0 = (Float64 *) buffers[0]; Complex64 *tin1 = (Complex64 *) buffers[1]; Complex64 *tout0 = (Complex64 *) buffers[2]; BEGIN_THREADS for (i=0; ir = result0.r; tout0->i = result0.i; tout1->r = result1.r; tout1->i = result1.i; ++tin0; ++tout0; ++tout1; } END_THREADS return 0; } static CfuncDescriptor modfresnelm_fxFF_vxvv_descr = { "modfresnelm_fxFF_vxvv", (void *) modfresnelm_fxFF_vxvv, CFUNC_UFUNC, 0, CHECK_ALIGN, 1, 2, { sizeof(Float32), sizeof(Complex32), sizeof(Complex32) }, { 0, 0, 0, 0 } }; static int modfresnelm_dxDD_vxvv(long niter, long ninargs, long noutargs, void **buffers, long *bsizes) { long i; Float64 *tin0 = (Float64 *) buffers[0]; Complex64 *tout0 = (Complex64 *) buffers[1]; Complex64 *tout1 = (Complex64 *) buffers[2]; BEGIN_THREADS for (i=0; ir = result0.r; tout0->i = result0.i; tout1->r = result1.r; tout1->i = result1.i; ++tin0; ++tout0; ++tout1; } END_THREADS return 0; } static CfuncDescriptor modfresnelp_fxFF_vxvv_descr = { "modfresnelp_fxFF_vxvv", (void *) modfresnelp_fxFF_vxvv, CFUNC_UFUNC, 0, CHECK_ALIGN, 1, 2, { sizeof(Float32), sizeof(Complex32), sizeof(Complex32) }, { 0, 0, 0, 0 } }; static int modfresnelp_dxDD_vxvv(long niter, long ninargs, long noutargs, void **buffers, long *bsizes) { long i; Float64 *tin0 = (Float64 *) buffers[0]; Complex64 *tout0 = (Complex64 *) buffers[1]; Complex64 *tout1 = (Complex64 *) buffers[2]; BEGIN_THREADS for (i=0; ir; input0.i = tin0->i; result0 = cpsi_wrap(input0); tout0->r = result0.r; tout0->i = result0.i; ++tin0; ++tout0; } END_THREADS return 0; } static CfuncDescriptor psi_FxF_vxf_descr = { "psi_FxF_vxf", (void *) psi_FxF_vxf, CFUNC_UFUNC, 0, CHECK_ALIGN, 1, 1, { sizeof(Complex32), sizeof(Complex32) }, { 0, 0, 0 } }; static int psi_DxD_vxf(long niter, long ninargs, long noutargs, void **buffers, long *bsizes) { long i; Complex64 *tin0 = (Complex64 *) buffers[0]; Complex64 *tout0 = (Complex64 *) buffers[1]; BEGIN_THREADS for (i=0; ir; input0.i = tin0->i; result0 = crgamma_wrap(input0); tout0->r = result0.r; tout0->i = result0.i; ++tin0; ++tout0; } END_THREADS return 0; } static CfuncDescriptor rgamma_FxF_vxf_descr = { "rgamma_FxF_vxf", (void *) rgamma_FxF_vxf, CFUNC_UFUNC, 0, CHECK_ALIGN, 1, 1, { sizeof(Complex32), sizeof(Complex32) }, { 0, 0, 0 } }; static int rgamma_DxD_vxf(long niter, long ninargs, long noutargs, void **buffers, long *bsizes) { long i; Complex64 *tin0 = (Complex64 *) buffers[0]; Complex64 *tout0 = (Complex64 *) buffers[1]; BEGIN_THREADS for (i=0; ir; input0.i = tin0->i; result0 = cwofz_wrap(input0); tout0->r = result0.r; tout0->i = result0.i; ++tin0; ++tout0; } END_THREADS return 0; } static CfuncDescriptor wofz_FxF_vxf_descr = { "wofz_FxF_vxf", (void *) wofz_FxF_vxf, CFUNC_UFUNC, 0, CHECK_ALIGN, 1, 1, { sizeof(Complex32), sizeof(Complex32) }, { 0, 0, 0 } }; static int wofz_DxD_vxf(long niter, long ninargs, long noutargs, void **buffers, long *bsizes) { long i; Complex64 *tin0 = (Complex64 *) buffers[0]; Complex64 *tout0 = (Complex64 *) buffers[1]; BEGIN_THREADS for (i=0; ir; input1.i = tin1->i; result0 = cbesy_wrap(*tin0, input1); tout0->r = result0.r; tout0->i = result0.i; ++tin0; ++tin1; ++tout0; } END_THREADS return 0; } static CfuncDescriptor yv_fFxF_vvxf_descr = { "yv_fFxF_vvxf", (void *) yv_fFxF_vvxf, CFUNC_UFUNC, 0, CHECK_ALIGN, 2, 1, { sizeof(Float32), sizeof(Complex32), sizeof(Complex32) }, { 0, 0, 0, 0 } }; static int yv_dDxD_vvxf(long niter, long ninargs, long noutargs, void **buffers, long *bsizes) { long i; Float64 *tin0 = (Float64 *) buffers[0]; Complex64 *tin1 = (Complex64 *) buffers[1]; Complex64 *tout0 = (Complex64 *) buffers[2]; BEGIN_THREADS for (i=0; ir; input1.i = tin1->i; result0 = cbesy_wrap_e(*tin0, input1); tout0->r = result0.r; tout0->i = result0.i; ++tin0; ++tin1; ++tout0; } END_THREADS return 0; } static CfuncDescriptor yve_fFxF_vvxf_descr = { "yve_fFxF_vvxf", (void *) yve_fFxF_vvxf, CFUNC_UFUNC, 0, CHECK_ALIGN, 2, 1, { sizeof(Float32), sizeof(Complex32), sizeof(Complex32) }, { 0, 0, 0, 0 } }; static int yve_dDxD_vvxf(long niter, long ninargs, long noutargs, void **buffers, long *bsizes) { long i; Float64 *tin0 = (Float64 *) buffers[0]; Complex64 *tin1 = (Complex64 *) buffers[1]; Complex64 *tout0 = (Complex64 *) buffers[2]; BEGIN_THREADS for (i=0; i