ParameterDistributionNormal Class Reference

CPP API: mio::ParameterDistributionNormal Class Reference
mio::ParameterDistributionNormal Class Reference

#include <parameter_distributions.h>

Inheritance diagram for mio::ParameterDistributionNormal:
Collaboration diagram for mio::ParameterDistributionNormal:

Public Member Functions

bool adapt_mean (ScalarType &mean)
 
bool adapt_standard_dev (ScalarType &standard_dev, ScalarType upper_bound, ScalarType lower_bound)
 
bool check_quantiles ()
 
bool check_quantiles (ScalarType &mean, ScalarType &standard_dev)
 
ParameterDistributionclone () const override
 
ScalarType get_lower_bound () const
 
ScalarType get_mean () const
 
ScalarType get_rand_sample (abm::PersonalRandomNumberGenerator &rng) override
 
ScalarType get_rand_sample (RandomNumberGenerator &rng) override
 
ScalarType get_standard_dev () const
 
ScalarType get_upper_bound () const
 
 ParameterDistributionNormal ()
 
 ParameterDistributionNormal (ScalarType lower_bound, ScalarType upper_bound, ScalarType mean, ScalarType quantile)
 
 ParameterDistributionNormal (ScalarType lower_bound, ScalarType upper_bound, ScalarType mean, ScalarType standard_dev, ScalarType quantile)
 
 ParameterDistributionNormal (ScalarType mean, ScalarType standard_dev)
 
std::vector< ScalarTypeparams () const override
 
template<class RNG >
ScalarType sample (RNG &rng)
 
template<class IOContext >
void serialize (IOContext &io) const
 
template<class IOObject >
void serialize_elements (IOObject &obj) const
 
void set_lower_bound (ScalarType lower_bound)
 
void set_mean (ScalarType mean)
 
void set_standard_dev (ScalarType standard_dev)
 
void set_upper_bound (ScalarType upper_bound)
 
bool smaller_impl (const ParameterDistribution &other) const override
 
- Public Member Functions inherited from mio::Visitable< Derived, Base, Visitor, ConstVisitor >
void accept (ConstVisitor &visitor) const
 
void accept (Visitor &visitor)
 

Static Public Member Functions

template<class IOContext >
static IOResult< ParameterDistributionNormaldeserialize (IOContext &io)
 
template<class IOContext , class IOObject >
static IOResult< ParameterDistributionNormaldeserialize_elements (IOContext &io, IOObject &obj)
 

Private Attributes

NormalDistribution< ScalarType >::ParamType m_distribution
 
ScalarType m_lower_bound = std::numeric_limits<ScalarType>::min()
 
ScalarType m_mean
 
ScalarType m_quantile = 2.5758
 
ScalarType m_standard_dev
 
ScalarType m_upper_bound
 

Constructor & Destructor Documentation

◆ ParameterDistributionNormal() [1/4]

mio::ParameterDistributionNormal::ParameterDistributionNormal ( )
inline

◆ ParameterDistributionNormal() [2/4]

mio::ParameterDistributionNormal::ParameterDistributionNormal ( ScalarType  mean,
ScalarType  standard_dev 
)
inline

◆ ParameterDistributionNormal() [3/4]

mio::ParameterDistributionNormal::ParameterDistributionNormal ( ScalarType  lower_bound,
ScalarType  upper_bound,
ScalarType  mean,
ScalarType  quantile 
)
inline

◆ ParameterDistributionNormal() [4/4]

mio::ParameterDistributionNormal::ParameterDistributionNormal ( ScalarType  lower_bound,
ScalarType  upper_bound,
ScalarType  mean,
ScalarType  standard_dev,
ScalarType  quantile 
)
inline

Member Function Documentation

◆ adapt_mean()

bool mio::ParameterDistributionNormal::adapt_mean ( ScalarType mean)
inline

◆ adapt_standard_dev()

bool mio::ParameterDistributionNormal::adapt_standard_dev ( ScalarType standard_dev,
ScalarType  upper_bound,
ScalarType  lower_bound 
)
inline

◆ check_quantiles() [1/2]

bool mio::ParameterDistributionNormal::check_quantiles ( )
inline

◆ check_quantiles() [2/2]

bool mio::ParameterDistributionNormal::check_quantiles ( ScalarType mean,
ScalarType standard_dev 
)
inline

◆ clone()

ParameterDistribution* mio::ParameterDistributionNormal::clone ( ) const
inlineoverride

◆ deserialize()

template<class IOContext >
static IOResult<ParameterDistributionNormal> mio::ParameterDistributionNormal::deserialize ( IOContext &  io)
inlinestatic

◆ deserialize_elements()

template<class IOContext , class IOObject >
static IOResult<ParameterDistributionNormal> mio::ParameterDistributionNormal::deserialize_elements ( IOContext &  io,
IOObject &  obj 
)
inlinestatic

◆ get_lower_bound()

ScalarType mio::ParameterDistributionNormal::get_lower_bound ( ) const
inline

◆ get_mean()

ScalarType mio::ParameterDistributionNormal::get_mean ( ) const
inline

◆ get_rand_sample() [1/2]

ScalarType mio::ParameterDistributionNormal::get_rand_sample ( abm::PersonalRandomNumberGenerator rng)
inlineoverride

◆ get_rand_sample() [2/2]

ScalarType mio::ParameterDistributionNormal::get_rand_sample ( RandomNumberGenerator &  rng)
inlineoverride

◆ get_standard_dev()

ScalarType mio::ParameterDistributionNormal::get_standard_dev ( ) const
inline

◆ get_upper_bound()

ScalarType mio::ParameterDistributionNormal::get_upper_bound ( ) const
inline

◆ params()

std::vector<ScalarType> mio::ParameterDistributionNormal::params ( ) const
inlineoverride

◆ sample()

template<class RNG >
ScalarType mio::ParameterDistributionNormal::sample ( RNG &  rng)
inline

◆ serialize()

template<class IOContext >
void mio::ParameterDistributionNormal::serialize ( IOContext &  io) const
inline

◆ serialize_elements()

template<class IOObject >
void mio::ParameterDistributionNormal::serialize_elements ( IOObject &  obj) const
inline

◆ set_lower_bound()

void mio::ParameterDistributionNormal::set_lower_bound ( ScalarType  lower_bound)
inline

◆ set_mean()

void mio::ParameterDistributionNormal::set_mean ( ScalarType  mean)
inline

◆ set_standard_dev()

void mio::ParameterDistributionNormal::set_standard_dev ( ScalarType  standard_dev)
inline

◆ set_upper_bound()

void mio::ParameterDistributionNormal::set_upper_bound ( ScalarType  upper_bound)
inline

◆ smaller_impl()

bool mio::ParameterDistributionNormal::smaller_impl ( const ParameterDistribution other) const
inlineoverride

Member Data Documentation

◆ m_distribution

NormalDistribution<ScalarType>::ParamType mio::ParameterDistributionNormal::m_distribution
private

◆ m_lower_bound

ScalarType mio::ParameterDistributionNormal::m_lower_bound = std::numeric_limits<ScalarType>::min()
private

◆ m_mean

ScalarType mio::ParameterDistributionNormal::m_mean
private

◆ m_quantile

ScalarType mio::ParameterDistributionNormal::m_quantile = 2.5758
private

◆ m_standard_dev

ScalarType mio::ParameterDistributionNormal::m_standard_dev
private

◆ m_upper_bound

ScalarType mio::ParameterDistributionNormal::m_upper_bound
private
Initial value:
= std::numeric_limits<
double ScalarType
Configuration of memilio library.
Definition: memilio/config.h:30
auto max(const Eigen::MatrixBase< A > &a, B &&b)
coefficient wise maximum of two matrices.
Definition: eigen_util.h:171