Double_t RooIpatia2__BK(Double_t ni, Double_t x) { Double_t nu = TMath::Abs(ni); if ( x < 1.e-06 && nu > 0.) return RooIpatia2__low_x_BK(nu,x); if ( x < 1.e-04 && nu > 0. && nu < 55.) return RooIpatia2__low_x_BK(nu,x); if ( x < 0.1 && nu >= 55.) return RooIpatia2__low_x_BK(nu,x); return gsl_sf_bessel_Knu(nu, x); //return ROOT::Math::cyl_bessel_k(nu, x); }
Double_t RooGeneralizedHyperbolic__BK(Double_t ni, Double_t x) { Double_t nu = abs(ni); if ( x < 1e-06 && nu > 0) return RooGeneralizedHyperbolic__low_x_BK(nu,x); if ( x < 1e-04 && nu > 0 && nu < 55) return RooGeneralizedHyperbolic__low_x_BK(nu,x); if ( x < 0.1 && nu >= 55) return RooGeneralizedHyperbolic__low_x_BK(nu,x); return gsl_sf_bessel_Knu(nu, x); //return ROOT::Math::cyl_bessel_k(nu, x); }
//-------------------------------------------------------------------------------------------------- double matern_kernel( const double& h, const double& v, const double& sigma, const double& theta ) { double H = sqrt( v ) * h / theta; if ( H > 0 ) { return sigma * sigma * 2 * pow( H, v ) * gsl_sf_bessel_Knu( v, 2 * H ) / gsl_sf_gamma( v ); } else { return 1.0; } }
inline long double cyl_bessel_k(long double a, long double x) { return gsl_sf_bessel_Knu(a, x); }
inline double cyl_bessel_k(double a, double x) { return gsl_sf_bessel_Knu(a, x); }
inline float cyl_bessel_k(float a, float x) { return (float)gsl_sf_bessel_Knu(a, x); }