|
| template<std::floating_point Real> |
| Real | randlib::math::factorial (Real n) |
| | Calculate n! using table values for small n <= 255 and built-in gamma function for large n > 255.
|
| |
| template<std::integral Integer> |
| long double | randlib::math::factorial (Integer n) |
| |
| template<std::floating_point Real = long double> |
| Real | randlib::math::doubleFactorial (int n) |
| | Calculate n!!
|
| |
| template<std::floating_point Real = long double> |
| Real | randlib::math::lfact (size_t n) |
| | Calculate log(n!) using table values for small n <= 255 and built-in lgamma function for large n > 255.
|
| |
| template<std::floating_point Real = long double> |
| Real | randlib::math::ldfact (size_t n) |
| | ldoublefact
|
| |
| template<std::floating_point Real = long double> |
| Real | randlib::math::binom (size_t n, size_t k) |
| | Calculate binomial coefficient.
|
| |
| template<std::floating_point Real = double> |
| Real | randlib::math::stirlingError (size_t n) |
| |
| template<std::floating_point Real = double> |
| Real | randlib::math::logFactorialRatio (size_t x, size_t y) |
| |
| template<std::floating_point Real> |
| Real | randlib::math::bd0 (std::type_identity_t< Real > x, Real m) |
| | Deviance term of the saddle-point expansions of Poisson and binomial probabilities (C.
|
| |
| template<std::floating_point Real> |
| Real | randlib::math::digamma (Real x) |
| |
| template<std::floating_point Real> |
| Real | randlib::math::digammamLog (Real x) |
| |
| template<std::floating_point Real> |
| Real | randlib::math::trigamma (Real x) |
| |
| template<std::floating_point Real> |
| Real | randlib::math::lpgamma (std::type_identity_t< Real > a, Real x, std::type_identity_t< Real > logA, std::type_identity_t< Real > lgammaA) |
| | Calculate logarithm of lower incomplete gamma function, accelerated by using precalculated value of log(a) and log(Γ(a))
|
| |
| template<std::floating_point Real> |
| Real | randlib::math::lpgamma (std::type_identity_t< Real > a, Real x, std::type_identity_t< Real > logX) |
| | Calculate logarithm of lower incomplete gamma function, accelerated by using precalculated value of log(x)
|
| |
| template<std::floating_point Real> |
| Real | randlib::math::lpgamma (std::type_identity_t< Real > a, Real x) |
| | Calculate logarithm of lower incomplete gamma function.
|
| |
| template<std::floating_point Real> |
| Real | randlib::math::pgamma (std::type_identity_t< Real > a, Real x, std::type_identity_t< Real > logA, std::type_identity_t< Real > lgammaA) |
| | Calculate lower regularized incomplete gamma function, accelerated by using precalculated value of log(a) and log(Γ(a))
|
| |
| template<std::floating_point Real> |
| Real | randlib::math::pgamma (std::type_identity_t< Real > a, Real x, std::type_identity_t< Real > logX) |
| | Calculate lower regularized incomplete gamma function, accelerated by using precalculated value of log(x)
|
| |
| template<std::floating_point Real> |
| Real | randlib::math::pgamma (std::type_identity_t< Real > a, Real x) |
| | Calculate lower regularized incomplete gamma function.
|
| |
| template<std::floating_point Real> |
| Real | randlib::math::lqgamma (std::type_identity_t< Real > a, Real x, std::type_identity_t< Real > logA, std::type_identity_t< Real > lgammaA) |
| | Calculate logarithm of upper incomplete gamma function, accelerated by using precalculated values of log(a) and log(Γ(a))
|
| |
| template<std::floating_point Real> |
| Real | randlib::math::lqgamma (std::type_identity_t< Real > a, Real x, std::type_identity_t< Real > logX) |
| | Calculate logarithm of upper incomplete gamma function, accelerated by using precalculated value of log(x)
|
| |
| template<std::floating_point Real> |
| Real | randlib::math::lqgamma (std::type_identity_t< Real > a, Real x) |
| | Calculate logarithm of upper incomplete gamma function.
|
| |
| template<std::floating_point Real> |
| Real | randlib::math::qgamma (std::type_identity_t< Real > a, Real x, std::type_identity_t< Real > logA, std::type_identity_t< Real > lgammaA) |
| | Calculate upper regularized incomplete gamma function, accelerated by using precalculated values of log(a) and log(Γ(a))
|
| |
| template<std::floating_point Real> |
| Real | randlib::math::qgamma (std::type_identity_t< Real > a, Real x, std::type_identity_t< Real > logX) |
| | Calculate upper regularized incomplete gamma function, accelerated by using precalculated value of log(x)
|
| |
| template<std::floating_point Real> |
| Real | randlib::math::qgamma (std::type_identity_t< Real > a, Real x) |
| | Calculate upper regularized incomplete gamma function.
|
| |
| template<std::floating_point Real> |
| Real | randlib::math::factorialForSmallValue (int n) |
| | Get n! using product method with table.
|
| |
| template<std::floating_point Real> |
| Real | randlib::math::digammamLogForLargeX (Real x) |
| |
| template<std::floating_point Real> |
| Real | randlib::math::log1pmx (Real t) |
| |
| template<std::floating_point Real> |
| Real | randlib::math::logPrefactor (Real a, Real x, Real logX) |
| |
| template<std::floating_point Real> |
| Real | randlib::math::lowerSeries (Real a, Real x) |
| |
| template<std::floating_point Real> |
| Real | randlib::math::upperContinuedFraction (Real a, Real x) |
| | Modified Lentz evaluation of the continued fraction for Q(a, x), x ≥ a + 1.
|
| |
| template<std::floating_point Real> |
| IncompleteGamma< Real > | randlib::math::incompleteGamma (Real a, Real x, Real logX) |
| | Regularized incomplete gamma ratios P(a, x) and Q(a, x) = 1 - P(a, x) and their logarithms.
|
| |
| template<std::floating_point Real> |
| void | randlib::math::parametersVerification (Real a, Real x) |
| |