|
RandLib 2.0.0
Probability distributions, fitting, and heavy-tail tools for C++20
|
#include <array>#include <cmath>#include <concepts>#include <functional>#include <complex>#include <limits>#include <vector>#include <utility>#include <type_traits>#include <algorithm>#include <numeric>#include <randlib/math/constants.hpp>#include <randlib/math/gamma.hpp>#include <randlib/math/special_functions.hpp>#include <randlib/math/beta.hpp>#include <randlib/math/quadrature.hpp>#include <randlib/math/roots.hpp>#include <randlib/math/optimize.hpp>

Go to the source code of this file.
Namespaces | |
| namespace | randlib |
| namespace | randlib::math |
| Beta-related functions. | |
| namespace | randlib::math::detail |
Functions | |
| template<int TABLE_SIZE> | |
| constexpr std::array< LongDoublePair, TABLE_SIZE > | randlib::math::createZiggurat (const std::function< LongDoublePair(const LongDoublePair &)> &funPtr, LongDoublePair first, LongDoublePair second) |
| template<typename RealType > | |
| bool | randlib::math::detail::areClose (RealType a, RealType b, RealType eps=1e-6) |
| template<std::floating_point Real> | |
| int | randlib::math::sign (Real x) |
| template<std::floating_point Real> | |
| Real | randlib::math::atan (Real x) |
| template<std::floating_point Real> | |
| Real | randlib::math::softplus (Real x) |
| template<std::floating_point Real> | |
| Real | randlib::math::log1mexp (Real x) |
| template<std::floating_point Real> | |
| Real | randlib::math::logexpm1l (Real x) |
| template<std::floating_point Real> | |
| Real | randlib::math::log2mexp (Real x) |
| template<std::floating_point Real> | |
| Real | randlib::math::erfinv (Real p) |
| template<std::floating_point Real> | |
| Real | randlib::math::erfcinv (Real p) |
| template<std::floating_point Real> | |
| Real | randlib::math::erfcx (Real x) |
| template<std::floating_point Real> | |
| Real | randlib::math::xexpxsqerfc (Real x) |
| xexpxsqerfc | |
| template<std::floating_point Real> | |
| Real | randlib::math::harmonicNumber (Real exponent, int number) |
| template<std::floating_point Real> | |
| Real | randlib::math::logBesselI (std::type_identity_t< Real > nu, Real x) |
| Calculates logarithm of modified Bessel function of the 1st kind. | |
| template<std::floating_point Real> | |
| Real | randlib::math::logBesselK (std::type_identity_t< Real > nu, Real x) |
| Calculates logarithm of modified Bessel function of the 2nd kind. | |
| template<std::floating_point Real> | |
| Real | randlib::math::W0Lambert (Real x, std::type_identity_t< Real > epsilon=Real{1e-11}) |
| template<std::floating_point Real> | |
| std::complex< Real > | randlib::math::W0Lambert (std::complex< Real > z) |
| template<std::floating_point Real> | |
| Real | randlib::math::Wm1Lambert (Real x, std::type_identity_t< Real > epsilon=Real{1e-11}) |
| template<std::floating_point Real> | |
| Real | randlib::math::MarcumP (std::type_identity_t< Real > mu, Real x, std::type_identity_t< Real > y, std::type_identity_t< Real > sqrtX, std::type_identity_t< Real > sqrtY, std::type_identity_t< Real > logX, std::type_identity_t< Real > logY) |
| template<std::floating_point Real> | |
| Real | randlib::math::MarcumP (std::type_identity_t< Real > mu, Real x, std::type_identity_t< Real > y) |
| template<std::floating_point Real> | |
| Real | randlib::math::MarcumQ (std::type_identity_t< Real > mu, Real x, std::type_identity_t< Real > y, std::type_identity_t< Real > sqrtX, std::type_identity_t< Real > sqrtY, std::type_identity_t< Real > logX, std::type_identity_t< Real > logY) |
| template<std::floating_point Real> | |
| Real | randlib::math::MarcumQ (std::type_identity_t< Real > mu, Real x, std::type_identity_t< Real > y) |
| template<std::floating_point Real> | |
| Real | randlib::math::detail::erfinvChebyshevSeries (Real x, long double t, const long double *array, int size) |
| template<std::floating_point Real> | |
| Real | randlib::math::detail::erfinvAux1 (Real beta) |
| template<std::floating_point Real> | |
| Real | randlib::math::detail::erfinvAux2 (Real beta) |
| template<std::floating_point Real> | |
| Real | randlib::math::detail::erfinvAux3 (Real beta) |
| template<std::floating_point Real> | |
| Real | randlib::math::detail::erfinvAux4 (Real p) |
| template<std::floating_point Real> | |
| Real | randlib::math::detail::logHankelSeries (Real nu, Real x, int sign) |
| template<std::floating_point Real> | |
| Real | randlib::math::detail::WLambert (Real x, Real w0, Real epsilon) |
| template<std::floating_point Real> | |
| Real | randlib::math::detail::MarcumPSeries (Real mu, Real x, Real y, Real logX, Real logY) |
| template<std::floating_point Real> | |
| Real | randlib::math::detail::MarcumQSeries (Real mu, Real x, Real y, Real logX, Real logY) |
| template<std::floating_point Real> | |
| Real | randlib::math::detail::MarcumPSaddleSeries (Real mu, Real x, Real y, Real logX, Real logY) |
| Σ e^{-x} x^n / n! P(μ + n, y), summed outwards from the dominant Poisson term. | |
| template<std::floating_point Real> | |
| Real | randlib::math::detail::MarcumPAsymptoticForLargeXY (Real mu, Real x, Real y, Real sqrtX, Real sqrtY) |
| template<std::floating_point Real> | |
| Real | randlib::math::detail::MarcumPForMuSmallerThanOne (Real mu, Real x, Real y, Real logX, Real logY) |
| template<std::floating_point Real> | |
| Real | randlib::math::detail::MarcumQIntegrand (Real theta, Real xi, Real sqrt1pXiSq, Real mu, Real y) |
| template<std::floating_point Real> | |
| Real | randlib::math::detail::MarcumQIntergralRepresentation (Real mu, Real x, Real y, Real sqrtX, Real sqrtY) |