5 #include "YacsTrace.hxx"
9 cntStruct* counters::_ctrs = 0;
11 counters::counters(int nb)
13 DEBTRACE("counters::counters(int nb)");
15 _ctrs = new cntStruct[_nbChrono];
17 for (int i=0; i< _nbChrono; i++)
19 _ctrs[i]._ctrNames = 0;
20 _ctrs[i]._ctrLines = 0;
21 _ctrs[i]._ctrOccur = 0;
22 _ctrs[i]._ctrCumul = 0;
25 DEBTRACE("counters::counters()");
33 void counters::stats()
35 DEBTRACE("counters::stats()");
36 for (int i=0; i < _nbChrono; i++)
37 if (_ctrs[i]._ctrOccur)
39 DEBTRACE("Compteur[" << i << "]: "<< _ctrs[i]._ctrNames << "[" << _ctrs[i]._ctrLines << "]");
40 DEBTRACE(" " << _ctrs[i]._ctrOccur);
41 DEBTRACE(" " << _ctrs[i]._ctrCumul);
47 chrono::chrono(int i) : _ctr(i), _run(true)
63 double elapse = double(_end - _start)/double(CLOCKS_PER_SEC);
64 counters::_ctrs[_ctr]._ctrOccur++;
65 counters::_ctrs[_ctr]._ctrCumul += elapse;