Stochastic Loading Module
inv_gauss_dist.h
1 #ifndef _INV_GAUSS_DIST_H_
2 #define _INV_GAUSS_DIST_H_
3 
4 #include <string>
5 #include <vector>
6 #include <boost/math/distributions/inverse_gaussian.hpp>
7 #include "distribution.h"
8 
9 namespace stochastic {
14  public:
18  InverseGaussianDistribution() = delete;
19 
26  InverseGaussianDistribution(double mean, double scale);
27 
32 
37  std::string name() const override { return "InverseGaussianDist"; };
38 
46  std::vector<double> cumulative_dist_func(
47  const std::vector<double>& locations) const override;
48 
56  std::vector<double> inv_cumulative_dist_func(
57  const std::vector<double>& probabilities) const override;
58 
59  protected:
60  double mean_;
61  double std_dev_;
62  boost::math::inverse_gaussian distribution_;
64 };
65 } // namespace stochastic
66 
67 #endif // _INV_GAUSS_DIST_H_
std::vector< double > inv_cumulative_dist_func(const std::vector< double > &probabilities) const override
std::vector< double > cumulative_dist_func(const std::vector< double > &locations) const override
boost::math::inverse_gaussian distribution_
std::string name() const override