26 #ifndef GUM_GAMMA_LOG2_H 27 #define GUM_GAMMA_LOG2_H 29 #define _USE_MATH_DEFINES // for Visual C++ 56 GammaLog2(
bool requires_precision =
false);
125 #ifndef GUM_NO_INLINE 127 #endif // GUM_NO_INLINE
double gammaLog2(double x) const
Returns log2 ( gamma (x) ) for x >= 0.
The class for computing Log2 (Gamma(x))
void setPrecision(bool p)
Sets whether we need more precision for small values.
GammaLog2(bool requires_precision=false)
Default constructor.
gum is the global namespace for all aGrUM entities
static constexpr double __log_sqrt_2pi
The value of std::log ( std::sqrt(2pi) ).
bool __requires_precision
Indicates whether we need more precision for small values.
double operator()(double x) const
Returns log2 ( gamma (x) ) for x > 0.
~GammaLog2()
Class destructor.
static const std::vector< double > __small_values
The 5000 values from 0 to 50 by step of 1/100.
The class for computing Log2 (Gamma(x)).
static constexpr double __1log2
The value of 1 / std::log(2).