-
Notifications
You must be signed in to change notification settings - Fork 0
/
stats.h
171 lines (143 loc) · 3.48 KB
/
stats.h
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
/*IMS - Modelovani a simulace
*
* Project: Simulator cernobilych stochastickych Petriho siti
* File: stats.h
* Author: Dusan Kovacic, xkovac21, xkovac21@stud.fit.vutbr.cz
* Jaroslav Sendler, xsendl00, xsendl00@stud.fit.vutr.cz
*
* Encoding: UTF-8
*
* Description:
*/
#pragma once
#ifndef STATS_H__
#define STATS_H__
#include "coreFunc.h"
#include <iostream>
#include <sstream>
#include <string.h>
#include <iomanip>
using namespace std;
/**
* Trida reprezentujisi statistiku petriho site.
*/
class SCStat
{
private:
/**
* Velikost cisla - pocet znaku.
* @param[in] <unsigned int> i cislo potrebne zjistt pocet znaku.
* @return <unsigned int> pocet znaku cisla.
*/
static unsigned int GetSizeInt(unsigned int i);
/**
* Velikost cisla - pocet znaku.
* @param[in] <double> i cislo potrebne zjistt pocet znaku.
* @return <unsigned int> pocet znaku cisla.
*/
static unsigned int GetSizeDouble( double i );
/**
* Zjisti nejvetsi kapacitu mist.
* @return <int> nejvetsi kapacita mista.
*/
static int MaxPlaceCapacity();
/**
* Zjisti nejvetsi pocatecni hodnotu mista.
* @return <int> nejvetsi pocatecni pocet kulicek v miste.
*/
static int MaxPlaceStartValue();
/**
* Zjisti nejvetsi pocet vsech kulicek v miste.
* @return <int> nejvetsi pocet vsech kulicek.
*/
static int MaxPlaceTotal();
/**
* Zjisti nejdelsi jmeno mista.
* @return <int> pocet znaku nejvetsiho jmena mista.
*/
static int MaxPlaceName();
/**
* Zjisti nejvetsi pravdepodobnost prechodu.
* @return <int> nejvesti prevdepodobnost prechodu.
*/
static double MaxTransitionProbability();
/**
* Zjisti nejvetsi prioritu prechodu.
* @param <int> nejvetsi priorita prechodu.
*/
static int MaxTransitionPriority();
/**
* Zjisti nejvetsi jmeno prechodu.
* @return <int> pocet znaku nejdelsiho jemna prechodu.
*/
static int MaxTransitionName();
/**
* Zjisti nejvetsi pocet proslych kulicek pres prechod.
* @return <int> nejvetsi pocet kulicek proslych pres prechod.
*/
static int MaxTransitionTotalPassedOut();
/**
* Zjisti nejvetsi pocet veslych kulicek pres prechod.
* @return <int> nejvetsi pocet kulicek proslych pres prechod.
*/
static int MaxTransitionTotalPassedIn();
/**
* Typ casovaneho prechodu.
* @return <string> tyo casovaneho prechodu.
*/
static string GetTransitionTime( int i );
/**
* Prevod cisla integru na retezec.
* @param[in] <double> num prevadene cislo.
* @return <string> cislo ve formatu retezce.
*/
static string convertDouble( double num );
/**
* Zjisti nejdelsi jmeno hrany.
* @return <int> nejdelsi jmeno hrany.
*/
static int MaxDirectedName();
/**
* Zjisti nejvetsi vahu hrany.
* @return <int> velikost nejvetsi vahy hrany.
*/
static int MaxDirectedWeight();
public:
/**
* Konstruktor.
*/
SCStat(){}
/**
* Destruktor.
*/
~SCStat(){}
/**
* Tisk souhrnych statistik - misto, prechod, hrana, celkem.
*/
static void PrintStatAll();
/**
* Tisk statisiky 'celkem'.
*/
static void PrintMain();
/**
* Tisk statistiky 'mista'.
*/
static void PrintPlace();
/**
* Tsik statsitky 'prechod'.
*/
static void PrintTransition();
/**
* Tisk statistiky 'hrana'.
*/
static void PrintDirected();
/**
* Tisk koncovych hvezdicek.
*/
static void PrintEnd();
/**
* Tisk legendy pro jednotlive vypisy
*/
static void PrintLegend();
};
#endif //STATS_H__