4#include <gsl/gsl_randist.h>
5#include <gsl/gsl_cdf.h>
6#include <gsl/gsl_rng.h>
70 virtual std::vector<double>
rvs(std::size_t n) = 0;
92 virtual double cdf(
double x) = 0;
100 virtual double ppf(
double x) = 0;
Abstract interface for scalar marginal distributions.
virtual PDFDiff f_df_ddf(double x)=0
virtual double cdf(double x)=0
Evaluates the cumulative distribution function at x.
virtual double ppf(double x)=0
Evaluates the quantile function (inverse CDF).
virtual double logpdf(double x)=0
Evaluates the logarithm of the probability density at x.
virtual std::vector< double > rvs(std::size_t n)=0
Draws random samples from the marginal distribution.
virtual ~IMarginalDistribution()=default
Virtual destructor for safe polymorphic deletion.
virtual double mean()=0
Returns the mean of the distribution.
virtual double std()=0
Returns the standard deviation of the distribution.