Stochastic Loading Module
inv_gauss_dist.cc
1 #include <vector>
2 #include <boost/math/distributions/inverse_gaussian.hpp>
3 #include "inv_gauss_dist.h"
4 
6  double mean, double std_dev)
7  : Distribution(),
8  mean_{mean},
9  std_dev_{std_dev},
10  distribution_{mean, std_dev_}
11 {}
12 
13 std::vector<double>
15  const std::vector<double>& locations) const {
16  std::vector<double> evaluations(locations.size());
17 
18  for (unsigned int i = 0; i < locations.size(); ++i) {
19  evaluations[i] = cdf(distribution_, locations[i]);
20  }
21 
22  return evaluations;
23 }
24 
25 std::vector<double>
27  const std::vector<double>& probabilities) const {
28  std::vector<double> evaluations(probabilities.size());
29 
30  for (unsigned int i = 0; i < probabilities.size(); ++i) {
31  evaluations[i] = quantile(distribution_, probabilities[i]);
32  }
33 
34  return evaluations;
35 }
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_