source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Group/src/Statistics_print_body.cpp @ 2

Last change on this file since 2 was 2, checked in by kane, 17 years ago

Import Morpheo

File size: 2.1 KB
Line 
1#ifdef STATISTICS
2/*
3 * $Id$
4 *
5 * [ Description ]
6 *
7 */
8
9#include "Behavioural/Generic/Group/include/Statistics.h"
10
11#include <sstream>
12using namespace std;
13
14namespace morpheo                    {
15namespace behavioural                {
16namespace generic                    {
17namespace group                      {
18
19  string Statistics::print_body (uint32_t depth)
20  {
21    string        tab = string(depth,'\t');
22    ostringstream msg;
23   
24    for (uint32_t i=0; i<_nb_statistics; i++)
25      {
26        uint32_t nb_cycle    = (_counters[i]->_nb_cycle_none_use + 
27                                _counters[i]->_nb_cycle_full_use + 
28                                _counters[i]->_nb_cycle_normal_use);
29       
30        uint32_t cycle_begin = compute_cycle_begin(i);
31        uint32_t cycle_end   = compute_cycle_end  (i,nb_cycle);
32
33        msg << tab << "\t<cycle begin=\"" << cycle_begin << "\" end=\"" << cycle_end << "\">" << endl
34                   << tab << "\t\t<nb_cycle_none_use   value=\"" 
35                          << _counters[i]->_nb_cycle_none_use                     << "\" /> <!-- " 
36                          << percent(_counters[i]->_nb_cycle_none_use  ,nb_cycle) << "% -->" << endl
37                   << tab << "\t\t<nb_cycle_full_use   value=\"" 
38                          << _counters[i]->_nb_cycle_full_use                     << "\" /> <!-- " 
39                          << percent(_counters[i]->_nb_cycle_full_use  ,nb_cycle) << "% -->" << endl
40                   << tab << "\t\t<nb_cycle_normal_use value=\"" 
41                          << _counters[i]->_nb_cycle_normal_use                   << "\" /> <!-- " 
42                          << percent(_counters[i]->_nb_cycle_normal_use,nb_cycle) << "% -->" << endl
43                   << tab << "\t\t<nb_use              value=\"" 
44                          << _counters[i]->_nb_use                                << "\" /> <!-- average : " 
45                          << average(_counters[i]->_nb_use,                    nb_cycle)      << " - " 
46                          << percent(_counters[i]->_nb_use,_parameters._nb_elt*nb_cycle)      << "% -->" << endl
47            << tab << "\t</cycle>" << endl;
48      }
49   
50    return msg.str();
51  };
52}; // end namespace group
53}; // end namespace generic
54}; // end namespace behavioural         
55}; // end namespace morpheo             
56#endif
Note: See TracBrowser for help on using the repository browser.