source: trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Statistics.h @ 44

Last change on this file since 44 was 44, checked in by rosiere, 17 years ago

Modification des classes d'encapsulation des interfaces.
Stable sur tous les composants actuels

File size: 1.9 KB
Line 
1#ifdef STATISTICS
2
3#ifndef morpheo_behavioural_Statistics_h
4#define morpheo_behavioural_Statistics_h
5
6/*
7 * $Id$
8 *
9 * [ Description ]
10 *
11 */
12
13#include <stdint.h>
14#include <iostream>
15#include "Behavioural/include/Environnement.h"
16#include "Behavioural/include/Parameters_Statistics.h"
17#include "Common/include/Average.h"
18#include "Common/include/Percent.h"
19
20using namespace std;
21
22namespace morpheo              {
23namespace behavioural          {
24
25  class Statistics
26  {
27    // -----[ fields ]----------------------------------------------------
28  protected : const string                _name;
29  protected : const Parameters_Statistics _parameters_statistics;
30
31  protected :       uint32_t _nb_statistics;         // nb period ...
32  protected :       uint32_t _period_current;        // nb cycle in current period
33
34    // -----[ methods ]---------------------------------------------------
35  public    :                  Statistics          (string                name                 ,
36                                                    Parameters_Statistics parameters_statistics);
37  public    : virtual          ~Statistics         ();
38
39  protected : uint32_t         compute_cycle_begin (uint32_t num_statistics);   
40  protected : uint32_t         compute_cycle_end   (uint32_t num_statistics, uint32_t nb_cycle);
41
42  public    : virtual string   print_body          (uint32_t depth) = 0;
43  public    : virtual string   print               (uint32_t depth) = 0;
44  public    : void             generate_file       (string   stat );
45  public    : void             generate_file       (void);
46
47  private   : template <class Counters, class Parameters_Counters> void save        (Counters ** &, Parameters_Counters parameters);
48  protected : template <class Counters, class Parameters_Counters> void test_if_save(Counters ** &, Parameters_Counters parameters);
49  };
50
51}; // end namespace behavioural         
52}; // end namespace morpheo             
53
54#endif
55#endif
Note: See TracBrowser for help on using the repository browser.