35[[nodiscard]]
constexpr auto gamma(
float x) ->
float {
38 return pi_1mx / std::sin(pi_1mx) /
51[[nodiscard]]
constexpr auto gamma(
double x) ->
double {
54 return pi_1mx / std::sin(pi_1mx) /
67[[nodiscard]]
constexpr auto gamma(std::complex<float> x)
68 -> std::complex<float> {
69 if (x.real() < 1.0F) {
71 return pi_1mx / std::sin(pi_1mx) /
84[[nodiscard]]
constexpr auto gamma(std::complex<double> x)
85 -> std::complex<double> {
88 return pi_1mx / std::sin(pi_1mx) /
101[[nodiscard]]
constexpr auto log_gamma(
float x) ->
float {
111[[nodiscard]]
constexpr auto log_gamma(
double x) ->
double {
static constexpr auto gamma(T x) -> T
Calculate a value of gamma function.
static constexpr auto log_gamma(Real x) -> Real
Calculate a natural logarithm of a value of gamma function.
Definition of gamma_lanczos class.
constexpr T pi
Value of pi, .
Namespace of special functions.
constexpr auto log_gamma(float x) -> float
Calculate a natural logarithm of a value of gamma function.
constexpr auto gamma(float x) -> float
Calculate a value of gamma function.