17 #ifndef HPP_STATISTICS_BIN_HH
18 #define HPP_STATISTICS_BIN_HH
28 namespace statistics {
38 const std::size_t&
freq()
const {
return freq_; }
49 virtual std::ostream&
print(std::ostream& os)
const {
50 return printValue(os << freq() <<
" - ");
54 virtual std::ostream&
printValue(std::ostream& os)
const = 0;
85 virtual std::size_t
freq(
const T& bin)
const;
101 virtual std::ostream&
print(std::ostream& os)
const;
105 template <
typename U>
126 virtual T&
increment(
const T& bin) __attribute__((deprecated));
139 template <
typename T>
148 namespace statistics {
149 template <
typename T>
153 for (; it != bins_.end(); it++) {
155 if (!(*it == b)) it = bins_.insert(it, b);
160 it = bins_.insert(it, b);
165 template <
typename T>
169 for (; it != bins_.end(); it++) {
171 if (!(*it == b)) it = bins_.insert(it, b);
176 it = bins_.insert(it, b);
181 template <
typename T>
183 for (
const_iterator it = bins_.begin(); it != bins_.end(); it++) {
184 if (*it < b)
continue;
185 if (*it == b)
return it;
191 template <
typename T>
192 template <
typename U>
197 template <
typename T>
200 if (it == bins_.end()) {
206 template <
typename T>
209 if (it == bins_.end()) {
215 template <
typename T>
218 template <
typename T>
221 for (it = begin(); it != end(); it++) {
222 it->print(os) << std::endl;
224 os <<
"Total number of observations: " << numberOfObservations();
228 template <
typename T>
virtual std::ostream & print(std::ostream &os) const
Print the bin.
Definition: bin.hh:49
std::size_t operator++()
Definition: bin.hh:42
const std::size_t & freq() const
Return the number of element in the bin.
Definition: bin.hh:38
std::size_t operator++(int)
Definition: bin.hh:46
Bin()
Constructor.
Definition: bin.hh:58
virtual std::ostream & printValue(std::ostream &os) const =0
Print the inner value of the bin.
virtual ~Bin()
Definition: bin.hh:59
virtual std::size_t freq(const T &bin) const
Definition: bin.hh:198
std::list< T > Container
Definition: bin.hh:77
virtual iterator insert(const T &bin)
Definition: bin.hh:166
const_iterator end() const
Definition: bin.hh:114
void clear()
Remove all element.
Definition: bin.hh:117
virtual Proba_t relativeFreq(const T &bin) const
Definition: bin.hh:207
const_iterator find(const T &bin) const
Definition: bin.hh:182
virtual T & increment(const T &bin) __attribute__((deprecated))
Definition: bin.hh:150
Container::const_iterator const_iterator
Definition: bin.hh:79
Container::iterator iterator
Definition: bin.hh:78
virtual std::ostream & print(std::ostream &os) const
Put the results in a stream.
Definition: bin.hh:219
unsigned int numberOfBins() const
Return the number of bins.
Definition: bin.hh:98
const_iterator begin() const
Definition: bin.hh:110
Statistics()
Constructor.
Definition: bin.hh:216
const_iterator find(const U &value) const
Definition: bin.hh:193
std::size_t numberOfObservations() const
Definition: bin.hh:95
#define HPP_STATISTICS_DLLAPI
Definition: config.hh:88
double Proba_t
Definition: fwd.hh:22
std::ostream & operator<<(std::ostream &os, const hpp::statistics::Bin &b)
Definition: bin.hh:66
Implementation.
Definition: main.hh:17