28#ifndef _gcem_lgamma_HPP
29#define _gcem_lgamma_HPP
57 return( 0.99999999999999709182L + 57.156235665862923517L / (x+1) \
58 - 59.597960355475491248L / (x+2) + 14.136097974741747174L / (x+3) \
59 - 0.49191381609762019978L / (x+4) + .33994649984811888699e-4L / (x+5) \
60 + .46523628927048575665e-4L / (x+6) - .98374475304879564677e-4L / (x+7) \
61 + .15808870322491248884e-3L / (x+8) - .21026444172410488319e-3L / (x+9) \
62 + .21743961811521264320e-3L / (x+10) - .16431810653676389022e-3L / (x+11) \
63 + .84418223983852743293e-4L / (x+12) - .26190838401581408670e-4L / (x+13) \
64 + .36899182659531622704e-5L / (x+14) );
82 return( (x + T(0.5))*
log(x + T(5.2421875L)) - (x + T(5.2421875L)) );
102 GCLIM<T>::quiet_NaN() :
107 GCLIM<T>::infinity() :
#define GCEM_LOG_SQRT_2PI
Definition: gcem_options.hpp:110
UnitType abs(const UnitType x) noexcept
Compute absolute value.
Definition: math.h:721
dimensionless::scalar_t log(const ScalarUnit x) noexcept
Compute natural logarithm.
Definition: math.h:349
constexpr return_t< T > lgamma(const T x) noexcept
Compile-time log-gamma function.
Definition: lgamma.hpp:129
constexpr common_t< T1, T2 > min(const T1 x, const T2 y) noexcept
Compile-time pairwise minimum function.
Definition: min.hpp:35
Definition: Eigen_Colamd.h:50
constexpr T lgamma_check(const T x) noexcept
Definition: lgamma.hpp:97
constexpr T lgamma_begin(const T x) noexcept
Definition: lgamma.hpp:88
constexpr bool is_nan(const T x) noexcept
Definition: is_nan.hpp:36
constexpr T lgamma_term_1(const T x) noexcept
Definition: lgamma.hpp:79
constexpr long double lgamma_coef_term(const long double x) noexcept
Definition: lgamma.hpp:54
constexpr T lgamma_term_2(const T x) noexcept
Definition: lgamma.hpp:70