20#ifndef CCGSL_SF_GAMMA_HPP
21#define CCGSL_SF_GAMMA_HPP
23#include<gsl/gsl_sf_gamma.h>
40 return gsl_sf_lngamma_e( x, &
result ); }
50 inline double lngamma(
double const x ){
return gsl_sf_lngamma( x ); }
63 return gsl_sf_lngamma_sgn_e( x, &result_lg, sgn ); }
75 inline int lngamma_sgn_e( double x, result& result_lg, double& sgn ){
76 return gsl_sf_lngamma_sgn_e( x, &result_lg, &sgn ); }
86 return gsl_sf_gamma_e( x, &
result ); }
94 inline double gamma(
double const x ){
return gsl_sf_gamma( x ); }
105 return gsl_sf_gammastar_e( x, &
result ); }
114 inline double gammastar(
double const x ){
return gsl_sf_gammastar( x ); }
124 return gsl_sf_gammainv_e( x, &
result ); }
132 inline double gammainv(
double const x ){
return gsl_sf_gammainv( x ); }
152 return gsl_sf_lngamma_complex_e( zr, zi, &lnr, &
arg ); }
164 return gsl_sf_taylorcoeff_e(
n, x, &
result ); }
175 return gsl_sf_taylorcoeff(
n, x ); }
184 return gsl_sf_fact_e(
n, &
result ); }
191 inline double fact(
unsigned int const n ){
return gsl_sf_fact(
n ); }
200 return gsl_sf_doublefact_e(
n, &
result ); }
207 inline double doublefact(
unsigned int const n ){
return gsl_sf_doublefact(
n ); }
217 return gsl_sf_lnfact_e(
n, &
result ); }
225 inline double lnfact(
unsigned int const n ){
return gsl_sf_lnfact(
n ); }
234 return gsl_sf_lndoublefact_e(
n, &
result ); }
242 return gsl_sf_lndoublefact(
n ); }
252 return gsl_sf_lnchoose_e(
n, m, &
result ); }
260 inline double lnchoose(
unsigned int n,
unsigned int m ){
261 return gsl_sf_lnchoose(
n, m ); }
271 return gsl_sf_choose_e(
n, m, &
result ); }
279 inline double choose(
unsigned int n,
unsigned int m ){
return gsl_sf_choose(
n, m ); }
293 return gsl_sf_lnpoch_e(
a, x, &
result ); }
305 inline double lnpoch(
double const a,
double const x ){
306 return gsl_sf_lnpoch(
a, x ); }
323 return gsl_sf_lnpoch_sgn_e(
a, x, &
result, sgn ); }
339 inline int lnpoch_sgn_e( double const a, double const x, result& result, double& sgn ){
340 return gsl_sf_lnpoch_sgn_e(
a, x, &
result, &sgn ); }
353 return gsl_sf_poch_e(
a, x, &
result ); }
364 inline double poch(
double const a,
double const x ){
return gsl_sf_poch(
a, x ); }
376 return gsl_sf_pochrel_e(
a, x, &
result ); }
386 inline double pochrel(
double const a,
double const x ){
return gsl_sf_pochrel(
a, x ); }
402 return gsl_sf_gamma_inc_Q_e(
a, x, &
result ); }
417 return gsl_sf_gamma_inc_Q(
a, x ); }
431 return gsl_sf_gamma_inc_P_e(
a, x, &
result ); }
444 return gsl_sf_gamma_inc_P(
a, x ); }
459 return gsl_sf_gamma_inc_e(
a, x, &
result ); }
473 return gsl_sf_gamma_inc(
a, x ); }
486 return gsl_sf_lnbeta_e(
a,
b, &
result ); }
497 inline double lnbeta(
double const a,
double const b ){
498 return gsl_sf_lnbeta(
a,
b ); }
513 return gsl_sf_lnbeta_sgn_e( x, y, &
result, sgn ); }
527 inline int lnbeta_sgn_e( double const x, double const y, result& result, double& sgn ){
528 return gsl_sf_lnbeta_sgn_e( x, y, &
result, &sgn ); }
541 return gsl_sf_beta_e(
a,
b, &
result ); }
552 inline double beta(
double const a,
double const b ){
return gsl_sf_beta(
a,
b ); }
566 return gsl_sf_beta_inc_e(
a,
b, x, &
result ); }
578 inline double beta_inc(
double const a,
double const b,
double const x ){
579 return gsl_sf_beta_inc(
a,
b, x ); }
double arg(complex const &z)
C++ version of gsl_complex_arg().
size_t n(workspace const &w)
C++ version of gsl_rstat_n().
double b(int order, double qq)
C++ version of gsl_sf_mathieu_b().
double a(int order, double qq)
C++ version of gsl_sf_mathieu_a().
double const GAMMA_XMAX
The maximum x such that gamma(x) is not considered an overflow.
int gammastar_e(double const x, result &result)
C++ version of gsl_sf_gammastar_e().
double lndoublefact(unsigned int const n)
C++ version of gsl_sf_lndoublefact().
int lngamma_e(double x, result &result)
C++ version of gsl_sf_lngamma_e().
double const FACT_NMAX
The maximum n such that fact(n) does not give an overflow.
double gammainv(double const x)
C++ version of gsl_sf_gammainv().
int lnpoch_sgn_e(double const a, double const x, result &result, double &sgn)
C++ version of gsl_sf_lnpoch_sgn_e().
int lnpoch_e(double const a, double const x, result &result)
C++ version of gsl_sf_lnpoch_e().
double gamma_inc_P(double const a, double const x)
C++ version of gsl_sf_gamma_inc_P().
double pochrel(double const a, double const x)
C++ version of gsl_sf_pochrel().
int pochrel_e(double const a, double const x, result &result)
C++ version of gsl_sf_pochrel_e().
double beta(double const a, double const b)
C++ version of gsl_sf_beta().
double poch(double const a, double const x)
C++ version of gsl_sf_poch().
int choose_e(unsigned int n, unsigned int m, result &result)
C++ version of gsl_sf_choose_e().
int lngamma_sgn_e(double x, result &result_lg, double &sgn)
C++ version of gsl_sf_lngamma_sgn_e().
double lnbeta(double const a, double const b)
C++ version of gsl_sf_lnbeta().
double const DOUBLEFACT_NMAX
The maximum n such that doublefact(n) does not give an overflow.
int gamma_inc_P_e(double const a, double const x, result &result)
C++ version of gsl_sf_gamma_inc_P_e().
double lnchoose(unsigned int n, unsigned int m)
C++ version of gsl_sf_lnchoose().
double fact(unsigned int const n)
C++ version of gsl_sf_fact().
double beta_inc(double const a, double const b, double const x)
C++ version of gsl_sf_beta_inc().
int beta_inc_e(double const a, double const b, double const x, result &result)
C++ version of gsl_sf_beta_inc_e().
double lngamma(double const x)
C++ version of gsl_sf_lngamma().
int lnbeta_sgn_e(double const x, double const y, result &result, double &sgn)
C++ version of gsl_sf_lnbeta_sgn_e().
double lnfact(unsigned int const n)
C++ version of gsl_sf_lnfact().
double choose(unsigned int n, unsigned int m)
C++ version of gsl_sf_choose().
int lndoublefact_e(unsigned int const n, result &result)
C++ version of gsl_sf_lndoublefact_e().
double lnpoch(double const a, double const x)
C++ version of gsl_sf_lnpoch().
int lnfact_e(unsigned int const n, result &result)
C++ version of gsl_sf_lnfact_e().
double gammastar(double const x)
C++ version of gsl_sf_gammastar().
double doublefact(unsigned int const n)
C++ version of gsl_sf_doublefact().
int beta_e(double const a, double const b, result &result)
C++ version of gsl_sf_beta_e().
int lnbeta_e(double const a, double const b, result &result)
C++ version of gsl_sf_lnbeta_e().
int doublefact_e(unsigned int const n, result &result)
C++ version of gsl_sf_doublefact_e().
int gamma_inc_Q_e(double const a, double const x, result &result)
C++ version of gsl_sf_gamma_inc_Q_e().
int lngamma_complex_e(double zr, double zi, result &lnr, result &arg)
C++ version of gsl_sf_lngamma_complex_e().
double gamma(double const x)
C++ version of gsl_sf_gamma().
int taylorcoeff_e(int const n, double const x, result &result)
C++ version of gsl_sf_taylorcoeff_e().
double taylorcoeff(int const n, double const x)
C++ version of gsl_sf_taylorcoeff().
int poch_e(double const a, double const x, result &result)
C++ version of gsl_sf_poch_e().
int lnchoose_e(unsigned int n, unsigned int m, result &result)
C++ version of gsl_sf_lnchoose_e().
int gammainv_e(double const x, result &result)
C++ version of gsl_sf_gammainv_e().
double gamma_inc_Q(double const a, double const x)
C++ version of gsl_sf_gamma_inc_Q().
double gamma_inc(double const a, double const x)
C++ version of gsl_sf_gamma_inc().
int gamma_e(double const x, result &result)
C++ version of gsl_sf_gamma_e().
int fact_e(unsigned int const n, result &result)
C++ version of gsl_sf_fact_e().
gsl_sf_result result
Typedef for gsl_sf_result.
int gamma_inc_e(double const a, double const x, result &result)
C++ version of gsl_sf_gamma_inc_e().
The gsl package creates an interface to the GNU Scientific Library for C++.