IProbabilityDistribution class
Base interface for probability distributions.
Provides unified interface for various boost::math distributions with support for PDF, CDF, quantiles, and random sampling.
Derived classes
-
template<typename Distribution>class DistributionWrapper
- Template wrapper for boost::math distributions.
-
template<typename Distribution>class DistributionWrapper
- Template wrapper for boost::math distributions.
-
template<typename Distribution>class DistributionWrapper
- Template wrapper for boost::math distributions.
-
template<typename Distribution>class DistributionWrapper
- Template wrapper for boost::math distributions.
-
template<typename Distribution>class DistributionWrapper
- Template wrapper for boost::math distributions.
-
template<typename Distribution>class DistributionWrapper
- Template wrapper for boost::math distributions.
-
template<typename Distribution>class DistributionWrapper
- Template wrapper for boost::math distributions.
Constructors, destructors, conversion operators
- ~IProbabilityDistribution() defaulted virtual
Public functions
- auto pdf(double x) const -> double pure virtual
- Probability density function.
- auto cdf(double x) const -> double pure virtual
- Cumulative distribution function.
- auto quantile(double p) const -> double pure virtual
- Quantile function (inverse CDF)
- auto mean() const -> double pure virtual
- Mean of the distribution.
- auto variance() const -> double pure virtual
- Variance of the distribution.
- auto standard_deviation() const -> double virtual
- Standard deviation.
- auto sample(br::mt19937& gen) const -> double pure virtual
- Generate random sample.
- auto sample(br::mt19937& gen, std::size_t n) const -> std::vector<double> virtual
- Generate multiple random samples.
- auto name() const -> std::string pure virtual
- Get distribution name.
Function documentation
double liarsdice:: statistics:: IProbabilityDistribution:: pdf(double x) const pure virtual
Probability density function.
| Parameters | |
|---|---|
| x | Point to evaluate |
| Returns | PDF value at x |
double liarsdice:: statistics:: IProbabilityDistribution:: cdf(double x) const pure virtual
Cumulative distribution function.
| Parameters | |
|---|---|
| x | Point to evaluate |
| Returns | CDF value at x |
double liarsdice:: statistics:: IProbabilityDistribution:: quantile(double p) const pure virtual
Quantile function (inverse CDF)
| Parameters | |
|---|---|
| p | Probability (0 < p < 1) |
| Returns | Quantile value |
double liarsdice:: statistics:: IProbabilityDistribution:: mean() const pure virtual
Mean of the distribution.
| Returns | Mean value |
|---|
double liarsdice:: statistics:: IProbabilityDistribution:: variance() const pure virtual
Variance of the distribution.
| Returns | Variance |
|---|
double liarsdice:: statistics:: IProbabilityDistribution:: standard_deviation() const virtual
Standard deviation.
| Returns | Standard deviation |
|---|
double liarsdice:: statistics:: IProbabilityDistribution:: sample(br::mt19937& gen) const pure virtual
Generate random sample.
| Parameters | |
|---|---|
| gen | Random number generator |
| Returns | Random value from distribution |
std::vector<double> liarsdice:: statistics:: IProbabilityDistribution:: sample(br::mt19937& gen,
std::size_t n) const virtual
Generate multiple random samples.
| Parameters | |
|---|---|
| gen | Random number generator |
| n | Number of samples |
| Returns | Vector of samples |
std::string liarsdice:: statistics:: IProbabilityDistribution:: name() const pure virtual
Get distribution name.
| Returns | String name of distribution |
|---|