/* Author: G. Jungman * RCS: $Id: bessel.h,v 1.14 1999/02/11 01:09:22 jungman Exp $ */ #ifndef _BESSEL_H_ #define _BESSEL_H_ #include "gsl_sf_result.h" /* Taylor expansion for J_nu(x) or I_nu(x) * sign = -1 ==> Jnu * sign = +1 ==> Inu */ int gsl_sf_bessel_IJ_taylor_impl(double nu, double x, int sign, int kmax, double threshold, gsl_sf_result * result ); int gsl_sf_bessel_Jnu_asympx_impl(double nu, double x, gsl_sf_result * result); int gsl_sf_bessel_Ynu_asympx_impl(double nu, double x, gsl_sf_result * result); int gsl_sf_bessel_Inu_scaled_asympx_impl(double nu, double x, gsl_sf_result * result); int gsl_sf_bessel_Knu_scaled_asympx_impl(double nu, double x, gsl_sf_result * result); int gsl_sf_bessel_Inu_scaled_asymp_unif_impl(double nu, double x, gsl_sf_result * result); int gsl_sf_bessel_Knu_scaled_asymp_unif_impl(double nu, double x, gsl_sf_result * result); /* ratio = J_{nu+1}(x) / J_nu(x) * sgn = sgn(J_nu(x)) */ int gsl_sf_bessel_J_CF1(double nu, double x, double * ratio, double * sgn); /* ratio = I_{nu+1}(x) / I_nu(x) */ int gsl_sf_bessel_I_CF1_ser(double nu, double x, double * ratio); /* Evaluate the Steed method continued fraction CF2 for * * (J' + i Y')/(J + i Y) := P + i Q */ int gsl_sf_bessel_JY_steed_CF2(double nu, double x, double * P, double * Q); int gsl_sf_bessel_JY_mu_restricted(double mu, double x, gsl_sf_result * Jmu, gsl_sf_result * Jmup1, gsl_sf_result * Ymu, gsl_sf_result * Ymup1); int gsl_sf_bessel_K_scaled_steed_temme_CF2(const double nu, const double x, double * K_nu, double * K_nup1, double * Kp_nu); /* These are of use in calculating the oscillating * Bessel functions. * cos(y - pi/4 + eps) * sin(y - pi/4 + eps) */ int gsl_sf_bessel_cos_pi4_impl(double y, double eps, gsl_sf_result * result); int gsl_sf_bessel_sin_pi4_impl(double y, double eps, gsl_sf_result * result); #endif /* !_BESSEL_H_ */