~ubuntu-branches/ubuntu/trusty/travis/trusty

« back to all changes in this revision

Viewing changes to src/statistics.h

  • Committer: Package Import Robot
  • Author(s): Daniel Leidert
  • Date: 2014-01-18 20:07:16 UTC
  • mfrom: (1.1.8)
  • Revision ID: package-import@ubuntu.com-20140118200716-whsmcg7fa1eyqecq
Tags: 140117-1
New upstream release.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*****************************************************************************
2
 
    TRAVIS - Trajectory Analyzer and Visualizer
3
 
    http://www.travis-analyzer.de/
4
 
 
5
 
    Copyright (c) 2009-2013 Martin Brehm
6
 
                  2012-2013 Martin Thomas
7
 
 
8
 
    This file written by Martin Brehm.
9
 
 
10
 
    This program is free software: you can redistribute it and/or modify
11
 
    it under the terms of the GNU General Public License as published by
12
 
    the Free Software Foundation, either version 3 of the License, or
13
 
    (at your option) any later version.
14
 
 
15
 
    This program is distributed in the hope that it will be useful,
16
 
    but WITHOUT ANY WARRANTY; without even the implied warranty of
17
 
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18
 
    GNU General Public License for more details.
19
 
 
20
 
    You should have received a copy of the GNU General Public License
21
 
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
22
 
*****************************************************************************/
23
 
 
24
 
#ifndef STATISTICS_H
25
 
#define STATISTICS_H
26
 
 
27
 
#include "xobject.h"
28
 
#include "tools.h"
29
 
#include "backtrace.h"
30
 
#include "xwordarray.h"
31
 
 
32
 
 
33
 
class CStatistics : public CxObject  
34
 
{
35
 
public:
36
 
        CStatistics();
37
 
        virtual ~CStatistics();
38
 
 
39
 
        void Init(int x, int y);
40
 
        void Evaluate();
41
 
        void Write(const char *pre, const char *s, const char *post);
42
 
 
43
 
        void AddValue(int x, int y, double v)
44
 
        {
45
 
                int z;
46
 
                z = y*m_iSizeX + x;
47
 
                m_pCount[z]++;
48
 
                m_pAvg[z] += v;
49
 
                if (v < m_pMin[z])
50
 
                        m_pMin[z] = v;
51
 
                if (v > m_pMax[z])
52
 
                        m_pMax[z] = v;
53
 
        }
54
 
 
55
 
        double *m_pMin;
56
 
        double *m_pMax;
57
 
        double *m_pAvg;
58
 
        double *m_pCount;
59
 
        CxWordArray m_waXValues;
60
 
        CxWordArray m_waYValues;
61
 
 
62
 
        int m_iSizeX, m_iSizeY;
63
 
 
64
 
};
65
 
 
66
 
#endif
67
 
 
 
1
/*****************************************************************************
 
2
    TRAVIS - Trajectory Analyzer and Visualizer
 
3
    http://www.travis-analyzer.de/
 
4
 
 
5
    Copyright (c) 2009-2014 Martin Brehm
 
6
                  2012-2014 Martin Thomas
 
7
 
 
8
    This file written by Martin Brehm.
 
9
 
 
10
    This program is free software: you can redistribute it and/or modify
 
11
    it under the terms of the GNU General Public License as published by
 
12
    the Free Software Foundation, either version 3 of the License, or
 
13
    (at your option) any later version.
 
14
 
 
15
    This program is distributed in the hope that it will be useful,
 
16
    but WITHOUT ANY WARRANTY; without even the implied warranty of
 
17
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
18
    GNU General Public License for more details.
 
19
 
 
20
    You should have received a copy of the GNU General Public License
 
21
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
22
*****************************************************************************/
 
23
 
 
24
#ifndef STATISTICS_H
 
25
#define STATISTICS_H
 
26
 
 
27
#include "xobject.h"
 
28
#include "tools.h"
 
29
#include "backtrace.h"
 
30
#include "xwordarray.h"
 
31
 
 
32
 
 
33
class CStatistics : public CxObject  
 
34
{
 
35
public:
 
36
        CStatistics();
 
37
        virtual ~CStatistics();
 
38
 
 
39
        void Init(int x, int y);
 
40
        void Evaluate();
 
41
        void Write(const char *pre, const char *s, const char *post);
 
42
 
 
43
        void AddValue(int x, int y, double v)
 
44
        {
 
45
                int z;
 
46
                z = y*m_iSizeX + x;
 
47
                m_pCount[z]++;
 
48
                m_pAvg[z] += v;
 
49
                if (v < m_pMin[z])
 
50
                        m_pMin[z] = v;
 
51
                if (v > m_pMax[z])
 
52
                        m_pMax[z] = v;
 
53
        }
 
54
 
 
55
        double *m_pMin;
 
56
        double *m_pMax;
 
57
        double *m_pAvg;
 
58
        double *m_pCount;
 
59
        CxWordArray m_waXValues;
 
60
        CxWordArray m_waYValues;
 
61
 
 
62
        int m_iSizeX, m_iSizeY;
 
63
 
 
64
};
 
65
 
 
66
#endif
 
67