Stochastic Loading Module
distribution.h
1 #ifndef _DISTRIBUTION_H_
2 #define _DISTRIBUTION_H_
3 
4 #include <string>
5 #include <vector>
6 
7 namespace stochastic {
8 
12 class Distribution {
13  public:
17  Distribution() = default;
18 
22  virtual ~Distribution(){};
23 
27  Distribution(const Distribution&) = delete;
28 
32  Distribution& operator=(const Distribution&) = delete;
33 
38  virtual std::string name() const = 0;
39 
46  virtual std::vector<double> cumulative_dist_func(
47  const std::vector<double>& locations) const = 0;
48 
56  virtual std::vector<double> inv_cumulative_dist_func(
57  const std::vector<double>& probabilities) const = 0;
58 };
59 } // namespace stochastic
60 
61 #endif // _DISTRIBUTION_H_
virtual std::vector< double > cumulative_dist_func(const std::vector< double > &locations) const =0
Distribution & operator=(const Distribution &)=delete
virtual std::vector< double > inv_cumulative_dist_func(const std::vector< double > &probabilities) const =0
virtual std::string name() const =0