CluE  1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
frequencydistribution.h
Go to the documentation of this file.
1 #ifndef FREQUENCYDISTRIBUTION_H
2 #define FREQUENCYDISTRIBUTION_H
3 
4 #include <vector>
5 #include <iostream>
6 
7 namespace CluE
8 {
9 
14 {
15 public:
19  FrequencyDistribution(std::vector<unsigned long> const& f);
20 
24  FrequencyDistribution(std::vector<FrequencyDistribution*> const&);
25 
27  {}
28 
29  virtual unsigned int size() const;
30 
31  virtual unsigned long frequency(unsigned int) const;
32 
33  virtual unsigned long total() const;
34 
35  virtual double probability(unsigned int) const;
36 
37  virtual double entropy() const;
38 
39  virtual double kullbackleibler(FrequencyDistribution const&) const;
40 
41 private:
42  std::vector<unsigned long> frequencies;
43  std::vector<double> probabilities;
44  unsigned long frequencysum;
45 };
46 
47 std::ostream& operator << (std::ostream&, FrequencyDistribution&);
48 
49 }
50 
51 #endif
virtual double probability(unsigned int) const
virtual unsigned long frequency(unsigned int) const
virtual double entropy() const
Probability distribution on non-negative integers.
std::vector< unsigned long > frequencies
virtual unsigned int size() const
virtual double kullbackleibler(FrequencyDistribution const &) const
FrequencyDistribution(std::vector< unsigned long > const &f)
constructs the centroid of the given vector of FrequencyDistribution objects.
std::vector< double > probabilities
virtual unsigned long total() const
std::ostream & operator<<(std::ostream &, FrequencyDistribution &)