48#ifndef GUM_GAMMA_LOG2_H
49#define GUM_GAMMA_LOG2_H
51#define USE_MATH_DEFINES_
79 explicit GammaLog2(
bool requires_precision =
false);
static constexpr double _log_sqrt_2pi_
The value of std::log ( std::sqrt(2pi) ).
static constexpr double _inv_log2_
The value of 1 / std::log(2).
bool _requires_precision_
Indicates whether we need more precision for small values.
double gammaLog2(double x) const
Returns log2 ( gamma (x) ) for x >= 0.
static const std::vector< double > _small_values_
The 5000 values from 0 to 50 by step of 1/100.
double operator()(double x) const
Returns log2 ( gamma (x) ) for x > 0.
void setPrecision(bool p)
Sets whether we need more precision for small values.
~GammaLog2()
Class destructor.
GammaLog2(bool requires_precision=false)
Default constructor.
The class for computing Log2 (Gamma(x)).
gum is the global namespace for all aGrUM entities