statistics.h
Go to the documentation of this file.
1 #ifndef STATISTICSH
2 #define STATISTICSH
3 
4 #include "boolean.h"
5 
6 #include <time.h>
7 #include <sys/times.h>
8 #include <stdio.h>
9 
10 
28 typedef struct {
29 
30  double t_init;
33  unsigned int np;
35  double volume;
36  double s_volume;
37  double s_diagonal;
39  unsigned int n_max_level;
41  unsigned int n_processed_boxes;
42  unsigned int n_solution_boxes;
44  unsigned int n_empty_boxes;
45  unsigned int n_splitted_boxes;
47  unsigned int n_lost_boxes;
49  unsigned int n_box_reductions;
51  unsigned int n_errors;
52 } Tstatistics;
53 
63 void InitStatistics(unsigned int np,double v,Tstatistics *t);
64 
73 void CopyStatistics(Tstatistics *t_dst,Tstatistics *t_src);
74 
85 double GetTime(Tstatistics *t);
86 
96 double GetElapsedTime(Tstatistics *t);
97 
107 double GetInitialTime(Tstatistics *t);
108 
109 
118 void SetInitialTime(double tm,Tstatistics *t);
119 
129 void NewMaxLevel(unsigned int m,Tstatistics *t);
130 
139 
150 void NewSolutionBox(boolean validated,double v,double d,Tstatistics *t);
151 
159 void NewEmptyBox(Tstatistics *t);
160 
168 void NewSplittedBox(Tstatistics *t);
169 
177 void NewRBError(Tstatistics *t);
178 
186 void NewLostBox(Tstatistics *t);
187 
196 
206 unsigned int GetNBoxReductions(Tstatistics *t);
207 
217 unsigned int GetNSolutionBoxes(Tstatistics *t);
218 
227 
236 void AddNBoxReductions(unsigned int nr,Tstatistics *t);
237 
248 void PrintStatistics(FILE *f,Tstatistics *t);
249 
259 void SaveStatistics(FILE *f,Tstatistics *t);
260 
270 void LoadStatistics(FILE *f,Tstatistics *t);
271 
280 
281 #endif
Definition of the boolean type.
unsigned int n_lost_boxes
Definition: statistics.h:47
double GetInitialTime(Tstatistics *t)
Initial time.
Definition: statistics.c:100
double GetTime(Tstatistics *t)
Curent time.
Definition: statistics.c:74
void NewLostBox(Tstatistics *t)
Increases the number of lost boxes.
Definition: statistics.c:173
double t_init
Definition: statistics.h:30
void SaveStatistics(FILE *f, Tstatistics *t)
Saves the statistics to a file in binary format.
Definition: statistics.c:260
void ResetNBoxReductions(Tstatistics *t)
Resets the number of reduced boxes.
Definition: statistics.c:196
void InitStatistics(unsigned int np, double v, Tstatistics *t)
Constructor.
Definition: statistics.c:21
void LoadStatistics(FILE *f, Tstatistics *t)
Loads the statistics from a file in binary format.
Definition: statistics.c:266
void NewEmptyBox(Tstatistics *t)
Increases the number of empty boxes.
Definition: statistics.c:147
void NewBoxReduction(Tstatistics *t)
Increases the number of reduced boxes.
Definition: statistics.c:181
unsigned int GetNBoxReductions(Tstatistics *t)
Gets the number of reduced boxes.
Definition: statistics.c:186
double s_volume
Definition: statistics.h:36
unsigned int n_solution_boxes
Definition: statistics.h:42
unsigned int n_processed_boxes
Definition: statistics.h:41
void AddNBoxReductions(unsigned int nr, Tstatistics *t)
Increases the number of reduced boxes.
Definition: statistics.c:201
double volume
Definition: statistics.h:35
unsigned int n_max_level
Definition: statistics.h:39
void PrintStatistics(FILE *f, Tstatistics *t)
Prints the statistics to a file.
Definition: statistics.c:209
unsigned int n_errors
Definition: statistics.h:51
Statistics associated with a solving process.
Definition: statistics.h:28
void CopyStatistics(Tstatistics *t_dst, Tstatistics *t_src)
Copy constructor.
Definition: statistics.c:45
unsigned int n_empty_boxes
Definition: statistics.h:44
void SetInitialTime(double tm, Tstatistics *t)
Sets a new initial time.
Definition: statistics.c:109
void NewSplittedBox(Tstatistics *t)
Increases the number of splitted boxes.
Definition: statistics.c:156
unsigned int n_validated_solution_boxes
Definition: statistics.h:43
unsigned int np
Definition: statistics.h:33
double s_diagonal
Definition: statistics.h:37
unsigned int GetNSolutionBoxes(Tstatistics *t)
Gets the number of solution boxes.
Definition: statistics.c:191
unsigned int n_splitted_boxes
Definition: statistics.h:45
unsigned int n_box_reductions
Definition: statistics.h:49
double GetElapsedTime(Tstatistics *t)
Elapsed time.
Definition: statistics.c:92
void NewBoxProcessed(Tstatistics *t)
Increases the number of processed boxes.
Definition: statistics.c:126
void NewSolutionBox(boolean validated, double v, double d, Tstatistics *t)
Increases the number of solution boxes.
Definition: statistics.c:134
void DeleteStatistics(Tstatistics *t)
Destructor.
Definition: statistics.c:274
void NewRBError(Tstatistics *t)
Increases the number of errors when reducing a boxe.
Definition: statistics.c:165
void NewMaxLevel(unsigned int m, Tstatistics *t)
Sets a new maximum level.
Definition: statistics.c:117