|
RandLib 2.0.0
Probability distributions, fitting, and heavy-tail tools for C++20
|
The UnivariateDistribution class
Abstract class for all univariate probability distributions.
More...
#include <univariate.hpp>


Public Member Functions | |
| virtual | ~UnivariateDistribution () |
| virtual Support | SupportType () const =0 |
| bool | isLeftBounded () const |
| bool | isRightBounded () const |
| virtual long double | Mean () const =0 |
| virtual long double | Variance () const =0 |
| T | Quantile (double p) const |
| T | Quantile1m (double p) const |
| void | QuantileFunction (std::span< const double > p, std::span< T > y) const |
| void | QuantileFunction1m (std::span< const double > p, std::span< T > y) const |
| std::complex< double > | CF (double t) const |
| void | CharacteristicFunction (std::span< const double > t, std::span< std::complex< double > > y) const |
| virtual double | Hazard (const T &x) const =0 |
| void | HazardFunction (std::span< const T > x, std::span< double > y) const |
| virtual T | Median () const |
| virtual T | Mode () const =0 |
| Mode is the value, which has the largest probability to happen, or, in the case of continuous distribution, has the largest value of density function. | |
| virtual long double | Skewness () const |
| virtual long double | Kurtosis () const |
| virtual long double | ExcessKurtosis () const |
| virtual long double | SecondMoment () const |
| virtual long double | ThirdMoment () const |
| virtual long double | FourthMoment () const |
| virtual double | LikelihoodFunction (std::span< const T > sample) const =0 |
| virtual double | LogLikelihoodFunction (std::span< const T > sample) const =0 |
Public Member Functions inherited from randlib::ProbabilityDistribution< T > | |
| virtual | ~ProbabilityDistribution ()=default |
| virtual std::string | Name () const =0 |
| virtual T | MinValue () const =0 |
| virtual T | MaxValue () const =0 |
| virtual double | F (const T &x) const =0 |
| void | CumulativeDistributionFunction (std::span< const T > x, std::span< double > y) const |
| virtual double | S (const T &x) const |
| void | SurvivalFunction (std::span< const T > x, std::span< double > y) const |
| template<std::uniform_random_bit_generator G> | |
| T | operator() (G &g) const |
| Draws a variate with the given engine through the virtual interface. | |
| T | Variate () const |
| Uses the engine of this object, so it is not thread-safe for one object; use operator() with one engine per thread instead. | |
| void | Sample (std::span< T > outputData) const |
| Fills the output with variates drawn with the engine of this object. | |
| template<std::uniform_random_bit_generator G> | |
| void | Sample (G &g, std::span< T > outputData) const |
| Fills the output with variates drawn with the given engine. | |
| void | Reseed (std::uint64_t seed) |
Static Public Member Functions | |
| static long double | GetSampleSum (std::span< const T > sample) |
| static long double | GetSampleMean (std::span< const T > sample) |
| static long double | GetSampleLogMean (std::span< const T > sample) |
| static long double | GetSampleVariance (std::span< const T > sample, double mean) |
| static long double | GetSampleLogVariance (std::span< const T > sample, double logMean) |
| static LongDoublePair | GetSampleMeanAndVariance (std::span< const T > sample) |
| static LongDoublePair | GetSampleLogMeanAndVariance (std::span< const T > sample) |
| static std::tuple< long double, long double, long double, long double > | GetSampleStatistics (std::span< const T > sample) |
Protected Member Functions | |
| UnivariateDistribution () | |
| virtual std::complex< double > | CFImpl (double t) const |
| virtual long double | ExpectedValue (const std::function< double(T)> &funPtr, T minPoint, T maxPoint) const =0 |
Protected Member Functions inherited from randlib::ProbabilityDistribution< T > | |
| std::string | toStringWithPrecision (const double a_value, const int n=6) const |
| ProbabilityDistribution ()=default | |
| DefaultEngine & | engine () const |
| virtual T | variate (detail::EngineRef g) const =0 |
| Every concrete distribution implements this by calling its templated operator() | |
| virtual void | sample (detail::EngineRef g, std::span< T > outputData) const |
| Fills the output with variate(g); distributions with a faster bulk algorithm override it. | |
| fit_error | fitError (FitErrorCode code, const std::string &explanation) const |
Static Protected Member Functions | |
| static bool | allElementsAreNotGreaterThan (T value, std::span< const T > sample) |
| static bool | allElementsAreNotSmallerThan (T value, std::span< const T > sample) |
| static bool | allElementsAreNonNegative (std::span< const T > sample) |
| static bool | allElementsArePositive (std::span< const T > sample) |
Additional Inherited Members | |
Public Types inherited from randlib::ProbabilityDistribution< T > | |
| using | value_type = T |
Static Protected Attributes inherited from randlib::ProbabilityDistribution< T > | |
| static constexpr size_t | MAX_ITER_REJECTION = detail::MAX_ITER_REJECTION |
| MAX_ITER_REJECTION upper boundary for maximum amount of iterations in rejection methods one thousand should be enough to be sure there is a bug (or rejection method is too slow to be used) | |
| static constexpr char | POSITIVITY_VIOLATION [] = "All elements should be positive" |
| static constexpr char | NON_NEGATIVITY_VIOLATION [] = "All elements should be non-negative" |
| static constexpr char | UPPER_LIMIT_VIOLATION [] = "No element should be greater than " |
| static constexpr char | LOWER_LIMIT_VIOLATION [] = "No element should be smaller than " |
The UnivariateDistribution class
Abstract class for all univariate probability distributions.
|
protected |
|
inlinevirtual |
|
staticprotected |
| sample |
|
staticprotected |
| value | |
| sample |
|
staticprotected |
| value | |
| sample |
|
staticprotected |
| sample |
| std::complex< double > randlib::UnivariateDistribution< T >::CF | ( | double | t | ) | const |
| t |
|
protectedvirtual |
| t |
Reimplemented in randlib::WrappedExponentialRand< RealType >, randlib::BetaDistribution< RealType >, randlib::BetaDistribution< double >, randlib::GeneralGeometricStableDistribution< RealType >, randlib::NakagamiDistribution< RealType >, randlib::DiscreteDistribution< IntType >, randlib::DiscreteDistribution< int >, and randlib::DiscreteDistribution< long long int >.
| void randlib::UnivariateDistribution< T >::CharacteristicFunction | ( | std::span< const double > | t, |
| std::span< std::complex< double > > | y | ||
| ) | const |
| t | input vector |
| y | output vector: y = CF(t) |
|
virtual |
var is finite, so is mu
Reimplemented in randlib::BetaDistribution< RealType >, randlib::BetaDistribution< double >, randlib::BetaPrimeRand< RealType >, randlib::DegenerateRand, randlib::ExponentiallyModifiedGaussianRand< RealType >, randlib::FisherFRand< RealType >, randlib::FrechetRand< RealType >, randlib::GammaDistribution< RealType >, randlib::GammaDistribution< double >, randlib::GammaDistribution< float >, randlib::GeneralizedExtremeValueRand< RealType >, randlib::GeneralizedParetoRand< RealType >, randlib::GeneralGeometricStableDistribution< RealType >, randlib::GumbelRand< RealType >, randlib::InverseGammaRand< RealType >, randlib::InverseGaussianRand< RealType >, randlib::IrwinHallRand< RealType >, randlib::LogNormalRand< RealType >, randlib::LogStableRand< RealType >, randlib::LogisticRand< RealType >, randlib::MarchenkoPasturRand< RealType >, randlib::NakagamiDistribution< RealType >, randlib::ChiRand< RealType >, randlib::MaxwellBoltzmannRand< RealType >, randlib::RayleighRand< RealType >, randlib::NoncentralChiSquaredRand< RealType >, randlib::NoncentralTRand< RealType >, randlib::ParetoRand< RealType >, randlib::ParetoRand< double >, randlib::PlanckRand< RealType >, randlib::RaisedCosineDistribution< RealType >, randlib::SechRand< RealType >, randlib::StableDistribution< RealType >, randlib::StableCountRand< RealType >, randlib::StudentTRand< RealType >, randlib::TriangularRand< RealType >, randlib::UniformRand< RealType >, randlib::WeibullRand< RealType >, randlib::WignerSemicircleRand< RealType >, randlib::CircularDistribution< RealType >, randlib::BetaBinomialRand< IntType >, randlib::BinomialDistribution< IntType >, randlib::BinomialDistribution< int >, randlib::HyperGeometricRand< IntType >, randlib::NegativeBinomialDistribution< IntType, T >, randlib::PoissonRand< IntType >, randlib::PoissonRand< int >, randlib::RademacherRand, randlib::SkellamRand< IntType >, randlib::UniformDiscreteRand< IntType >, randlib::YuleRand< IntType >, randlib::ZetaRand< IntType >, randlib::ZetaRand< long long int >, randlib::ZipfRand< IntType >, and randlib::CantorRand.
|
protectedpure virtual |
| funPtr | pointer on function g(x) with finite support which expected value should be returned |
| minPoint | min{x | g(x) ≠ 0} |
| maxPoint | max{x | g(x) ≠ 0} |
Implemented in randlib::DiscreteDistribution< IntType >, and randlib::ContinuousDistribution< RealType >.
|
virtual |
|
static |
| sample |
|
static |
| sample |
Welford's stable method
|
static |
| sample | |
| logMean | known log-mean value |
|
static |
| sample |
|
static |
| sample |
Welford's stable method
|
static |
| sample |
Terriberry's extension for skewness and kurtosis
This looks like a hack and unfortunately it is. The reason of it is that the algorithm can become unstable for sufficiently large k. For now we restart the algorithm when k reaches some big number. In the future this can be parallelized for faster implementation.
M4
M3
M2 and M1
If something left - add the residue
M4
M3
M2 and M1
|
static |
| sample |
|
static |
| sample | |
| mean | known mean value |
|
pure virtual |
| x | input parameter |
Implemented in randlib::DiscreteDistribution< IntType >, and randlib::ContinuousDistribution< RealType >.
| void randlib::UnivariateDistribution< T >::HazardFunction | ( | std::span< const T > | x, |
| std::span< double > | y | ||
| ) | const |
| x | input vector |
| y | output vector: y = Hazard(x) |
| bool randlib::UnivariateDistribution< T >::isLeftBounded | ( | ) | const |
| bool randlib::UnivariateDistribution< T >::isRightBounded | ( | ) | const |
|
virtual |
|
pure virtual |
| sample |
Implemented in randlib::DiscreteDistribution< IntType >, randlib::UniformDiscreteRand< IntType >, randlib::UniformRand< RealType >, and randlib::ContinuousDistribution< RealType >.
|
pure virtual |
| sample |
Implemented in randlib::DiscreteDistribution< IntType >, randlib::UniformDiscreteRand< IntType >, randlib::UniformRand< RealType >, and randlib::ContinuousDistribution< RealType >.
|
pure virtual |
Implemented in randlib::BetaDistribution< RealType >, randlib::BetaDistribution< double >, randlib::BetaPrimeRand< RealType >, randlib::DegenerateRand, randlib::ExponentiallyModifiedGaussianRand< RealType >, randlib::FisherFRand< RealType >, randlib::FrechetRand< RealType >, randlib::GammaDistribution< RealType >, randlib::GammaDistribution< double >, randlib::GammaDistribution< float >, randlib::GeneralizedExtremeValueRand< RealType >, randlib::GeneralizedParetoRand< RealType >, randlib::GeneralGeometricStableDistribution< RealType >, randlib::GumbelRand< RealType >, randlib::InverseGammaRand< RealType >, randlib::InverseGaussianRand< RealType >, randlib::IrwinHallRand< RealType >, randlib::KolmogorovSmirnovRand< RealType >, randlib::LogNormalRand< RealType >, randlib::LogStableRand< RealType >, randlib::LogisticRand< RealType >, randlib::MarchenkoPasturRand< RealType >, randlib::NakagamiDistribution< RealType >, randlib::MaxwellBoltzmannRand< RealType >, randlib::RayleighRand< RealType >, randlib::NoncentralChiSquaredRand< RealType >, randlib::NoncentralTRand< RealType >, randlib::ParetoRand< RealType >, randlib::ParetoRand< double >, randlib::PlanckRand< RealType >, randlib::RaisedCosineDistribution< RealType >, randlib::RiceRand< RealType >, randlib::SechRand< RealType >, randlib::StableDistribution< RealType >, randlib::StableCountRand< RealType >, randlib::StudentTRand< RealType >, randlib::TriangularRand< RealType >, randlib::UniformRand< RealType >, randlib::WeibullRand< RealType >, randlib::WignerSemicircleRand< RealType >, randlib::CircularDistribution< RealType >, randlib::BetaBinomialRand< IntType >, randlib::BinomialDistribution< IntType >, randlib::BinomialDistribution< int >, randlib::CategoricalRand< IntType >, randlib::HyperGeometricRand< IntType >, randlib::LogarithmicRand< IntType >, randlib::NegativeBinomialDistribution< IntType, T >, randlib::NegativeHyperGeometricRand< IntType >, randlib::PoissonRand< IntType >, randlib::PoissonRand< int >, randlib::RademacherRand, randlib::SkellamRand< IntType >, randlib::UniformDiscreteRand< IntType >, randlib::YuleRand< IntType >, randlib::ZetaRand< IntType >, randlib::ZetaRand< long long int >, randlib::ZipfRand< IntType >, and randlib::CantorRand.
|
virtual |
Reimplemented in randlib::VonMisesRand< RealType >, randlib::WrappedExponentialRand< RealType >, randlib::BetaDistribution< RealType >, randlib::BetaDistribution< double >, randlib::BetaPrimeRand< RealType >, randlib::DegenerateRand, randlib::FisherFRand< RealType >, randlib::FrechetRand< RealType >, randlib::GammaDistribution< RealType >, randlib::GammaDistribution< double >, randlib::GammaDistribution< float >, randlib::GeneralizedExtremeValueRand< RealType >, randlib::GeneralizedParetoRand< RealType >, randlib::GeneralGeometricStableDistribution< RealType >, randlib::GumbelRand< RealType >, randlib::InverseGammaRand< RealType >, randlib::IrwinHallRand< RealType >, randlib::KolmogorovSmirnovRand< RealType >, randlib::LogNormalRand< RealType >, randlib::LogStableRand< RealType >, randlib::LogisticRand< RealType >, randlib::NakagamiDistribution< RealType >, randlib::RayleighRand< RealType >, randlib::ParetoRand< RealType >, randlib::ParetoRand< double >, randlib::RaisedCosineDistribution< RealType >, randlib::SechRand< RealType >, randlib::StableDistribution< RealType >, randlib::StudentTRand< RealType >, randlib::TriangularRand< RealType >, randlib::UniformRand< RealType >, randlib::WeibullRand< RealType >, randlib::WignerSemicircleRand< RealType >, randlib::BinomialDistribution< IntType >, randlib::BinomialDistribution< int >, randlib::GeometricRand< IntType >, randlib::GeometricRand< int >, randlib::PoissonRand< IntType >, randlib::PoissonRand< int >, randlib::RademacherRand, randlib::SkellamRand< IntType >, randlib::UniformDiscreteRand< IntType >, and randlib::CantorRand.
|
pure virtual |
Mode is the value, which has the largest probability to happen, or, in the case of continuous distribution, has the largest value of density function.
Implemented in randlib::VonMisesRand< RealType >, randlib::WrappedExponentialRand< RealType >, randlib::BetaDistribution< RealType >, randlib::BetaDistribution< double >, randlib::BetaPrimeRand< RealType >, randlib::DegenerateRand, randlib::FisherFRand< RealType >, randlib::FrechetRand< RealType >, randlib::GammaDistribution< RealType >, randlib::GammaDistribution< double >, randlib::GammaDistribution< float >, randlib::GeneralizedExtremeValueRand< RealType >, randlib::GeneralizedParetoRand< RealType >, randlib::GeneralGeometricStableDistribution< RealType >, randlib::GumbelRand< RealType >, randlib::InverseGammaRand< RealType >, randlib::InverseGaussianRand< RealType >, randlib::IrwinHallRand< RealType >, randlib::KolmogorovSmirnovRand< RealType >, randlib::LogNormalRand< RealType >, randlib::LogStableRand< RealType >, randlib::LogisticRand< RealType >, randlib::MarchenkoPasturRand< RealType >, randlib::NakagamiDistribution< RealType >, randlib::MaxwellBoltzmannRand< RealType >, randlib::RayleighRand< RealType >, randlib::NoncentralChiSquaredRand< RealType >, randlib::ParetoRand< RealType >, randlib::ParetoRand< double >, randlib::PlanckRand< RealType >, randlib::RaisedCosineDistribution< RealType >, randlib::RiceRand< RealType >, randlib::SechRand< RealType >, randlib::StableDistribution< RealType >, randlib::StableCountRand< RealType >, randlib::StudentTRand< RealType >, randlib::TriangularRand< RealType >, randlib::UniformRand< RealType >, randlib::WeibullRand< RealType >, randlib::WignerSemicircleRand< RealType >, randlib::ContinuousDistribution< RealType >, randlib::ContinuousDistribution< double >, randlib::ContinuousDistribution< float >, randlib::DiscreteDistribution< IntType >, randlib::DiscreteDistribution< int >, randlib::DiscreteDistribution< long long int >, randlib::BetaBinomialRand< IntType >, randlib::BinomialDistribution< IntType >, randlib::BinomialDistribution< int >, randlib::CategoricalRand< IntType >, randlib::HyperGeometricRand< IntType >, randlib::LogarithmicRand< IntType >, randlib::NegativeBinomialDistribution< IntType, T >, randlib::PoissonRand< IntType >, randlib::PoissonRand< int >, randlib::RademacherRand, randlib::SkellamRand< IntType >, randlib::UniformDiscreteRand< IntType >, randlib::YuleRand< IntType >, randlib::ZetaRand< IntType >, randlib::ZetaRand< long long int >, and randlib::ZipfRand< IntType >.
| T randlib::UnivariateDistribution< T >::Quantile | ( | double | p | ) | const |
| p |
| T randlib::UnivariateDistribution< T >::Quantile1m | ( | double | p | ) | const |
| p |
| void randlib::UnivariateDistribution< T >::QuantileFunction | ( | std::span< const double > | p, |
| std::span< T > | y | ||
| ) | const |
| p | |
| y | Fills vector y with Quantile(p) |
| void randlib::UnivariateDistribution< T >::QuantileFunction1m | ( | std::span< const double > | p, |
| std::span< T > | y | ||
| ) | const |
| p | |
| y | Fills vector y with Quantile1m(p) |
|
virtual |
Reimplemented in randlib::PlanckRand< RealType >, and randlib::StableCountRand< RealType >.
|
virtual |
var is finite, so is mu
Reimplemented in randlib::BetaDistribution< RealType >, randlib::BetaDistribution< double >, randlib::BetaPrimeRand< RealType >, randlib::DegenerateRand, randlib::ExponentiallyModifiedGaussianRand< RealType >, randlib::FisherFRand< RealType >, randlib::FrechetRand< RealType >, randlib::GammaDistribution< RealType >, randlib::GammaDistribution< double >, randlib::GammaDistribution< float >, randlib::GeneralizedExtremeValueRand< RealType >, randlib::GeneralizedParetoRand< RealType >, randlib::GeneralGeometricStableDistribution< RealType >, randlib::GumbelRand< RealType >, randlib::InverseGammaRand< RealType >, randlib::InverseGaussianRand< RealType >, randlib::IrwinHallRand< RealType >, randlib::LogNormalRand< RealType >, randlib::LogStableRand< RealType >, randlib::LogisticRand< RealType >, randlib::MarchenkoPasturRand< RealType >, randlib::NakagamiDistribution< RealType >, randlib::ChiRand< RealType >, randlib::MaxwellBoltzmannRand< RealType >, randlib::RayleighRand< RealType >, randlib::NoncentralChiSquaredRand< RealType >, randlib::NoncentralTRand< RealType >, randlib::ParetoRand< RealType >, randlib::ParetoRand< double >, randlib::PlanckRand< RealType >, randlib::RaisedCosineDistribution< RealType >, randlib::SechRand< RealType >, randlib::StableDistribution< RealType >, randlib::StableCountRand< RealType >, randlib::StudentTRand< RealType >, randlib::TriangularRand< RealType >, randlib::UniformRand< RealType >, randlib::WeibullRand< RealType >, randlib::WignerSemicircleRand< RealType >, randlib::CircularDistribution< RealType >, randlib::BetaBinomialRand< IntType >, randlib::BinomialDistribution< IntType >, randlib::BinomialDistribution< int >, randlib::HyperGeometricRand< IntType >, randlib::NegativeBinomialDistribution< IntType, T >, randlib::PoissonRand< IntType >, randlib::PoissonRand< int >, randlib::RademacherRand, randlib::SkellamRand< IntType >, randlib::UniformDiscreteRand< IntType >, randlib::YuleRand< IntType >, randlib::ZetaRand< IntType >, randlib::ZetaRand< long long int >, randlib::ZipfRand< IntType >, and randlib::CantorRand.
|
pure virtual |
Implemented in randlib::BetaDistribution< RealType >, randlib::BetaDistribution< double >, randlib::BetaPrimeRand< RealType >, randlib::CauchyRand< RealType >, randlib::DegenerateRand, randlib::ExponentiallyModifiedGaussianRand< RealType >, randlib::FisherFRand< RealType >, randlib::FrechetRand< RealType >, randlib::GammaDistribution< RealType >, randlib::GammaDistribution< double >, randlib::GammaDistribution< float >, randlib::GeneralizedExtremeValueRand< RealType >, randlib::GeneralizedParetoRand< RealType >, randlib::GeneralGeometricStableDistribution< RealType >, randlib::GumbelRand< RealType >, randlib::InverseGammaRand< RealType >, randlib::InverseGaussianRand< RealType >, randlib::IrwinHallRand< RealType >, randlib::KolmogorovSmirnovRand< RealType >, randlib::LogNormalRand< RealType >, randlib::LogStableRand< RealType >, randlib::LogisticRand< RealType >, randlib::MarchenkoPasturRand< RealType >, randlib::NakagamiDistribution< RealType >, randlib::NoncentralChiSquaredRand< RealType >, randlib::NoncentralTRand< RealType >, randlib::ParetoRand< RealType >, randlib::ParetoRand< double >, randlib::PlanckRand< RealType >, randlib::RaisedCosineDistribution< RealType >, randlib::RiceRand< RealType >, randlib::SechRand< RealType >, randlib::StableDistribution< RealType >, randlib::StableCountRand< RealType >, randlib::StudentTRand< RealType >, randlib::TriangularRand< RealType >, randlib::UniformRand< RealType >, randlib::WeibullRand< RealType >, randlib::WignerSemicircleRand< RealType >, randlib::CircularDistribution< RealType >, randlib::BetaBinomialRand< IntType >, randlib::BinomialDistribution< IntType >, randlib::BinomialDistribution< int >, randlib::CategoricalRand< IntType >, randlib::HyperGeometricRand< IntType >, randlib::LogarithmicRand< IntType >, randlib::NegativeBinomialDistribution< IntType, T >, randlib::NegativeHyperGeometricRand< IntType >, randlib::PoissonRand< IntType >, randlib::PoissonRand< int >, randlib::RademacherRand, randlib::SkellamRand< IntType >, randlib::UniformDiscreteRand< IntType >, randlib::YuleRand< IntType >, randlib::ZetaRand< IntType >, randlib::ZetaRand< long long int >, randlib::ZipfRand< IntType >, and randlib::CantorRand.
|
virtual |
|
pure virtual |
Implemented in randlib::BetaDistribution< RealType >, randlib::BetaDistribution< double >, randlib::BetaPrimeRand< RealType >, randlib::DegenerateRand, randlib::ExponentiallyModifiedGaussianRand< RealType >, randlib::FisherFRand< RealType >, randlib::FrechetRand< RealType >, randlib::GammaDistribution< RealType >, randlib::GammaDistribution< double >, randlib::GammaDistribution< float >, randlib::GeneralizedExtremeValueRand< RealType >, randlib::GeneralizedParetoRand< RealType >, randlib::GeneralGeometricStableDistribution< RealType >, randlib::GumbelRand< RealType >, randlib::InverseGammaRand< RealType >, randlib::InverseGaussianRand< RealType >, randlib::IrwinHallRand< RealType >, randlib::KolmogorovSmirnovRand< RealType >, randlib::LogNormalRand< RealType >, randlib::LogStableRand< RealType >, randlib::LogisticRand< RealType >, randlib::MarchenkoPasturRand< RealType >, randlib::NakagamiDistribution< RealType >, randlib::MaxwellBoltzmannRand< RealType >, randlib::RayleighRand< RealType >, randlib::NoncentralChiSquaredRand< RealType >, randlib::NoncentralTRand< RealType >, randlib::ParetoRand< RealType >, randlib::ParetoRand< double >, randlib::PlanckRand< RealType >, randlib::RaisedCosineDistribution< RealType >, randlib::RiceRand< RealType >, randlib::SechRand< RealType >, randlib::StableDistribution< RealType >, randlib::StableCountRand< RealType >, randlib::StudentTRand< RealType >, randlib::TriangularRand< RealType >, randlib::UniformRand< RealType >, randlib::WeibullRand< RealType >, randlib::WignerSemicircleRand< RealType >, randlib::CircularDistribution< RealType >, randlib::BetaBinomialRand< IntType >, randlib::BinomialDistribution< IntType >, randlib::BinomialDistribution< int >, randlib::CategoricalRand< IntType >, randlib::HyperGeometricRand< IntType >, randlib::LogarithmicRand< IntType >, randlib::NegativeBinomialDistribution< IntType, T >, randlib::NegativeHyperGeometricRand< IntType >, randlib::PoissonRand< IntType >, randlib::PoissonRand< int >, randlib::RademacherRand, randlib::SkellamRand< IntType >, randlib::UniformDiscreteRand< IntType >, randlib::YuleRand< IntType >, randlib::ZetaRand< IntType >, randlib::ZetaRand< long long int >, randlib::ZipfRand< IntType >, and randlib::CantorRand.