25 #ifndef Rcpp__stats__gamma_h
26 #define Rcpp__stats__gamma_h
31 inline double dgamma_1(
double x,
double shape,
int log_p){
34 if (ISNAN(x) || ISNAN(shape) )
35 return x + shape + 1.0 ;
37 if (shape < 0)
return R_NaN ;
44 if (shape > 1)
return R_D__0;
46 return log_p ? 0.0 : 1.0 ;
50 pr = ::Rf_dpois(shape, x, log_p);
51 return log_p ? pr + ::log(shape/x) : pr*shape/
x;
54 pr = ::Rf_dpois(shape-1, x, log_p);
57 inline double pgamma_1(
double x,
double alph,
int lower_tail,
int log_p){
58 return ::Rf_pgamma(x, alph, 1.0, lower_tail, log_p) ;
60 inline double qgamma_1(
double p,
double alpha,
int lower_tail,
int log_p){
61 return ::Rf_qgamma(p, alpha, 1.0, lower_tail, log_p );
72 RCPP_DPQ_2(gamma,::Rf_dgamma,::Rf_pgamma,::Rf_qgamma)