void fermi_dirac_half(double *x, int *len, double *val, double *err, int *status) { int i; gsl_sf_result result; gsl_set_error_handler_off(); for(i = 0; i< *len ; i++){ status[i] = gsl_sf_fermi_dirac_half_e(x[i], &result) ; val[i] = result.val; err[i] = result.err; } }
double gsl_sf_fermi_dirac_half(const double x) { EVAL_RESULT(gsl_sf_fermi_dirac_half_e(x, &result)); }
/** * C++ version of gsl_sf_fermi_dirac_half_e(). * F_{1/2}(x): F_j(x) := 1/Gamma[j+1] Integral[ t^j /(Exp[t-x] + 1), {t,0,Infinity}] * @param x A real number * @param result The result as a @c gsl::sf::result object * @return GSL_SUCCESS or GSL_EUNDRFLW or GSL_EOVRFLW */ inline int fermi_dirac_half_e( double const x, result& result ){ return gsl_sf_fermi_dirac_half_e( x, &result ); }