double pf1(double fval, int df1, int df2){ double a,b,x; a = ((double)df1)/2.0; b = ((double)df2)/2.0; x = ((double)df1)*fval/(((double)df1)*fval+(double)df2); return 1.0-gsl_sf_beta_inc (a, b, x); }
double RicoStudents_t::CDF(double x) const { // Pr(X <= x) if (x == 0) return 0.5; double x2 = x * x; double z = m_df / (m_df + x2); double probability = gsl_sf_beta_inc(m_df/2.0, 0.5, z) / 2; return (x > 0 ? 1 - probability : probability); }
inline double ibeta(double a, double b, double x) { return gsl_sf_beta_inc(a, b, x); }
inline long double ibeta(long double a, long double b, long double x) { return gsl_sf_beta_inc((double)a, (double)b, (double)x); }
inline float ibeta(float a, float b, float x) { return (float)gsl_sf_beta_inc(a, b, x); }