summaryrefslogtreecommitdiff
path: root/src/intersim/stats.hpp
blob: 7c2a3988e0eec59b861647c81f77dbad2b9ba044 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#ifndef _STATS_HPP_
#define _STATS_HPP_

#include "module.hpp"

class Stats : public Module {
   int    _num_samples;
   double _sample_sum;

   bool _reset;
   double _min;
   double _max;

   int    _num_bins;
   double _bin_size;

   int *_hist;

public:
   Stats( Module *parent, const string &name,
          double bin_size = 1.0, int num_bins = 10 );
   ~Stats( );

   void Clear( );

   double Average( ) const;
   double Max( ) const;
   double Min( ) const;
   int    NumSamples( ) const;

   void AddSample( double val );
   void AddSample( int val );


   void Display( ) const;
   bool NeverUsed() const;
};

#endif