28#ifndef _gcem_lgamma_HPP
29#define _gcem_lgamma_HPP
63 return( 0.99999999999999709182L + 57.156235665862923517L / (x+1) \
64 - 59.597960355475491248L / (x+2) + 14.136097974741747174L / (x+3) \
65 - 0.49191381609762019978L / (x+4) + .33994649984811888699e-4L / (x+5) \
66 + .46523628927048575665e-4L / (x+6) - .98374475304879564677e-4L / (x+7) \
67 + .15808870322491248884e-3L / (x+8) - .21026444172410488319e-3L / (x+9) \
68 + .21743961811521264320e-3L / (x+10) - .16431810653676389022e-3L / (x+11) \
69 + .84418223983852743293e-4L / (x+12) - .26190838401581408670e-4L / (x+13) \
70 + .36899182659531622704e-5L / (x+14) );
88 return( (x + T(0.5))*
log(x + T(5.2421875L)) - (x + T(5.2421875L)) );
#define GCEM_LOG_SQRT_2PI
Definition: gcem_options.hpp:110
constexpr FMT_INLINE auto is_constant_evaluated(bool default_value=false) noexcept -> bool
Definition: core.h:304
constexpr T lgamma_term_2(const T x) noexcept
Definition: lgamma.hpp:76
constexpr long double lgamma_coef_term(const long double x) noexcept
Definition: lgamma.hpp:60
constexpr bool is_nan(const T x) noexcept
Definition: is_nan.hpp:39
constexpr T lgamma_begin(const T x) noexcept
Definition: lgamma.hpp:94
constexpr T lgamma_check(const T x) noexcept
Definition: lgamma.hpp:103
constexpr T lgamma_term_1(const T x) noexcept
Definition: lgamma.hpp:85
Definition: is_even.hpp:29
constexpr T abs(const T x) noexcept
Compile-time absolute value function.
Definition: abs.hpp:40
constexpr return_t< T > lgamma(const T x) noexcept
Compile-time log-gamma function.
Definition: lgamma.hpp:135
constexpr return_t< T > log(const T x) noexcept
Compile-time natural logarithm function.
Definition: log.hpp:186
std::numeric_limits< T > GCLIM
Definition: gcem_options.hpp:74
typename std::conditional< std::is_integral< T >::value, double, T >::type return_t
Definition: gcem_options.hpp:77