7 #ifndef NORMAL_DISTRIBUTION_HPP
8 #define NORMAL_DISTRIBUTION_HPP
16 const float std_deviation;
20 mean(_mean), std_deviation(_std_deviation)
26 return std_deviation != 0.0;
33 const float variance2(2 * std_deviation * std_deviation);
34 const float sqrtvariance2pi(std_deviation * std::sqrt(2) * std::sqrt(3.141592));
35 return exp(-x*x/variance2)/sqrtvariance2pi;
41 const float std_deviationSqrt2(std_deviation * std::sqrt(2));
42 return std::erf(x / std_deviationSqrt2);
bool is_valid() const
a normal distribution is valid iff its standard distribution is non-0
Definition: normal_distribution.hpp:24
normal_distribution(const float _std_deviation, const float _mean=0)
constructor
Definition: normal_distribution.hpp:19
Definition: read_adj_list.hpp:22
float prob_distance_to_mean_at_most(const float x) const
compute the probability to pick something whose distance to the mean is at most x ...
Definition: normal_distribution.hpp:39
normal distribution centered with given mean and standard deviation (makes heavy use of std::erf()) ...
Definition: normal_distribution.hpp:14
float prob_of_picking_at_least(const float x) const
compute the probability to pick a value of at least x
Definition: normal_distribution.hpp:46
float probability(float x) const
compute the probability to pick x under the normal distribution centered at mean with standard deviat...
Definition: normal_distribution.hpp:30