CMP++: Uncertainty Quantification & Bayesian Calibration
Loading...
Searching...
No Matches
cmp::distribution::SmoothUniformDistribution Class Reference

#include <distribution.h>

Inheritance diagram for cmp::distribution::SmoothUniformDistribution:
Collaboration diagram for cmp::distribution::SmoothUniformDistribution:

Public Member Functions

 SmoothUniformDistribution (double lowerBound, double upperBound, double sigma)
 
 SmoothUniformDistribution ()=default
 
double logPDF (const double &x) const
 
double dLogPDF (const double &x) const
 
double ddLogPDF (const double &x) const
 
double CDF (const double &t) const
 
double quantile (const double &p) const
 
double sample (std::default_random_engine &rng)
 
void setLowerBound (double a)
 
void setUpperBound (double b)
 
void setStd (double sigma)
 
- Public Member Functions inherited from cmp::distribution::UnivariateDistribution< SmoothUniformDistribution >
double logPDF (const double &x) const
 Computes the log probability density function (log-PDF) of the distribution.
 
double dLogPDF (const double &x) const
 Computes the first derivative of the log-PDF.
 
double ddLogPDF (const double &x) const
 Computes the second derivative of the log-PDF.
 
double CDF (const double &x) const
 Computes the cumulative distribution function (CDF).
 
double quantile (const double &p) const
 Computes the quantile function (inverse CDF).
 
double sample (std::default_random_engine &rng)
 Draws a single pseudo-random sample from the distribution.
 

Private Attributes

double lowerBound_
 Lower boundary.
 
double upperBound_
 Upper boundary.
 
double std_
 Standard deviation of smoothing Gaussian.
 
std::uniform_real_distribution< double > distU_
 Uniform generator helper.
 
std::normal_distribution< double > distN_
 Normal generator helper.
 

Constructor & Destructor Documentation

◆ SmoothUniformDistribution() [1/2]

cmp::distribution::SmoothUniformDistribution::SmoothUniformDistribution ( double  lowerBound,
double  upperBound,
double  sigma 
)
inline

◆ SmoothUniformDistribution() [2/2]

cmp::distribution::SmoothUniformDistribution::SmoothUniformDistribution ( )
default

Member Function Documentation

◆ CDF()

double cmp::distribution::SmoothUniformDistribution::CDF ( const double &  t) const
inline

◆ ddLogPDF()

double cmp::distribution::SmoothUniformDistribution::ddLogPDF ( const double &  x) const
inline

◆ dLogPDF()

double cmp::distribution::SmoothUniformDistribution::dLogPDF ( const double &  x) const
inline

◆ logPDF()

double cmp::distribution::SmoothUniformDistribution::logPDF ( const double &  x) const
inline

◆ quantile()

double cmp::distribution::SmoothUniformDistribution::quantile ( const double &  p) const
inline

◆ sample()

double cmp::distribution::SmoothUniformDistribution::sample ( std::default_random_engine &  rng)
inline

◆ setLowerBound()

void cmp::distribution::SmoothUniformDistribution::setLowerBound ( double  a)
inline

◆ setStd()

void cmp::distribution::SmoothUniformDistribution::setStd ( double  sigma)
inline

◆ setUpperBound()

void cmp::distribution::SmoothUniformDistribution::setUpperBound ( double  b)
inline

Member Data Documentation

◆ distN_

std::normal_distribution<double> cmp::distribution::SmoothUniformDistribution::distN_
private

Normal generator helper.

◆ distU_

std::uniform_real_distribution<double> cmp::distribution::SmoothUniformDistribution::distU_
private

Uniform generator helper.

◆ lowerBound_

double cmp::distribution::SmoothUniformDistribution::lowerBound_
private

Lower boundary.

◆ std_

double cmp::distribution::SmoothUniformDistribution::std_
private

Standard deviation of smoothing Gaussian.

◆ upperBound_

double cmp::distribution::SmoothUniformDistribution::upperBound_
private

Upper boundary.


The documentation for this class was generated from the following file: