Skip to content

Commit a4d6779

Browse files
committed
Make functions and variables private if possible
1 parent c321b41 commit a4d6779

10 files changed

+153
-142
lines changed

CFrelement.h

+5-3
Original file line numberDiff line numberDiff line change
@@ -51,15 +51,17 @@ class CFrelement: public CTemporal
5151
int save(const char* name,bool lossy = false);
5252
int load(const char* name);
5353

54+
inline SFrelement* getPredictFrelements() {
55+
return predictFrelements;
56+
}
57+
58+
private:
5459
float storedGain;
5560
SFrelement *storedFrelements;
5661
int id;
5762
float predictGain;
5863
SFrelement *predictFrelements;
59-
int measurements;
6064
int shortestTime;
61-
int64_t firstTime;
62-
int64_t lastTime;
6365
};
6466

6567
#endif

CHyperTime.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -117,15 +117,15 @@ void CHyperTime::update(int modelOrder,unsigned int* times,float* signal,int len
117117
/*retrieve dominant error period*/
118118
int maxOrder = 1;
119119
fremen.update(timeDimension/2+1);
120-
int period = fremen.predictFrelements[0].period;
120+
int period = fremen.getPredictFrelements()[0].period;
121121
bool expand = true;
122122
fremen.print(true);
123123
std::cout << "Model error with "<< timeDimension <<" time dimensions and "<< order <<" clusters is "<< sumErr << std::endl;
124124

125125
/*if the period already exists, then skip it*/
126126
for (int d = 0; d < timeDimension/2; d++)
127127
{
128-
if (period == periods[d]) period = fremen.predictFrelements[d+1].period;
128+
if (period == periods[d]) period = fremen.getPredictFrelements()[d+1].period;
129129
}
130130
errors[timeDimension/2] = sumErr;
131131

CHyperTime.h

+1
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ class CHyperTime: public CTemporal
5151
int save(const char* name, bool lossy = false);
5252
int load(const char* name);
5353

54+
private:
5455
SHyperTimeSample sampleArray[1000000];
5556
int numSamples;
5657
int positives;

CPerGaM.h

+27-26
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
#include <string.h>
1010
#include "CTimer.h"
1111
#include "CTemporal.h"
12-
12+
1313
/**
1414
@author Tom Krajnik
1515
*/
@@ -29,37 +29,38 @@ typedef struct
2929

3030
class CPerGaM: public CTemporal
3131
{
32-
public:
33-
CPerGaM(int id);
34-
~CPerGaM();
32+
public:
33+
CPerGaM(int id);
34+
~CPerGaM();
3535

36-
//adds a serie of measurements to the data
37-
int add(uint32_t time,float state);
38-
void init(int iMaxPeriod,int elements,int numActivities);
36+
//adds a serie of measurements to the data
37+
int add(uint32_t time,float state);
38+
void init(int iMaxPeriod,int elements,int numActivities);
3939

40-
//estimates the probability for the given times - using stored histogram
41-
float estimate(uint32_t time);
40+
//estimates the probability for the given times - using stored histogram
41+
float estimate(uint32_t time);
4242

43-
//predicts the probability for the given times - using updated histogram
44-
float predict(uint32_t time);
43+
//predicts the probability for the given times - using updated histogram
44+
float predict(uint32_t time);
4545

46-
void update(int maxOrder,unsigned int* times = NULL,float* signal = NULL,int length = 0);
47-
void print(bool verbose=true);
46+
void update(int maxOrder,unsigned int* times = NULL,float* signal = NULL,int length = 0);
47+
void print(bool verbose=true);
4848

49-
int id;
50-
int exportToArray(double* array,int maxLen);
51-
int importFromArray(double* array,int len);
52-
int save(FILE* file,bool lossy = false);
53-
int load(FILE* file);
54-
int save(const char* name,bool lossy = false);
55-
int load(const char* name);
56-
int loadTxt(FILE* file);
49+
int id;
50+
int exportToArray(double* array,int maxLen);
51+
int importFromArray(double* array,int len);
52+
int save(const char* name,bool lossy = false);
53+
int load(const char* name);
54+
int save(FILE* file,bool lossy = false);
55+
int load(FILE* file);
56+
int loadTxt(FILE* file);
5757

58-
SPerGaM *gaussian;
59-
float *storedHistogram;
60-
int offset;
61-
float gain;
62-
int numBins;
58+
private:
59+
SPerGaM *gaussian;
60+
float *storedHistogram;
61+
int offset;
62+
float gain;
63+
int numBins;
6364
};
6465

6566
#endif

CPythonHyperTime.h

+4-2
Original file line numberDiff line numberDiff line change
@@ -41,15 +41,17 @@ class CPythonHyperTime: public CTemporal
4141
float predict(uint32_t time);
4242

4343
void update(int maxOrder,unsigned int* times = NULL,float* signal = NULL,int length = 0);
44-
int exportToArray(double* array,int maxLen);
45-
int importFromArray(double* array,int len);
4644
void print(bool verbose=true);
4745

4846
int save(FILE* file,bool lossy = false);
4947
int load(FILE* file);
5048
int save(const char* name,bool lossy = false);
5149
int load(const char* name);
5250

51+
private:
52+
int exportToArray(double* array,int maxLen);
53+
int importFromArray(double* array,int len);
54+
5355
char id[MAX_ID_LENGTH];
5456
int measurements;
5557

CTimeAdaptiveHist.cpp

+71-71
Original file line numberDiff line numberDiff line change
@@ -5,124 +5,124 @@ using namespace std;
55

66
CTimeAdaptiveHist::CTimeAdaptiveHist(int idd)
77
{
8-
id = idd;
9-
firstTime = -1;
10-
lastTime = -1;
11-
measurements = 0;
12-
maxPeriod = 0;
13-
numElements = 0;
14-
type = TT_ADAPTIVE;
8+
id = idd;
9+
firstTime = -1;
10+
lastTime = -1;
11+
measurements = 0;
12+
maxPeriod = 0;
13+
numElements = 0;
14+
type = TT_ADAPTIVE;
1515
}
1616

1717
void CTimeAdaptiveHist::init(int imaxPeriod,int elements,int numActivities)
1818
{
19-
maxPeriod = imaxPeriod;
20-
numElements = BINS_PER_DAY;
21-
def_sample_threshold=elements;
22-
predictHistogram = (float*) malloc(sizeof(float)*numElements);
23-
storedHistogram = (float*) malloc(sizeof(float)*numElements);
24-
measurementHistogram = (uint32_t*) malloc(sizeof(uint32_t)*numElements);
25-
for (int i=0;i<numElements;i++)
26-
{
27-
measurementHistogram[i]=0;
28-
predictHistogram[i] = storedHistogram[i] = 0.5;
29-
}
19+
maxPeriod = imaxPeriod;
20+
numElements = BINS_PER_DAY;
21+
def_sample_threshold=elements;
22+
predictHistogram = (float*) malloc(sizeof(float)*numElements);
23+
storedHistogram = (float*) malloc(sizeof(float)*numElements);
24+
measurementHistogram = (uint32_t*) malloc(sizeof(uint32_t)*numElements);
25+
for (int i=0;i<numElements;i++)
26+
{
27+
measurementHistogram[i]=0;
28+
predictHistogram[i] = storedHistogram[i] = 0.5;
29+
}
3030
}
3131

3232
CTimeAdaptiveHist::~CTimeAdaptiveHist()
3333
{
34-
free(predictHistogram);
35-
free(storedHistogram);
34+
free(predictHistogram);
35+
free(storedHistogram);
3636
}
3737

3838
// adds new state observations at given times
3939
int CTimeAdaptiveHist::add(uint32_t time,float state)
4040
{
41-
if (measurements == 0) firstTime = time;
42-
lastTime = time;
41+
if (measurements == 0) firstTime = time;
42+
lastTime = time;
4343

44-
storedHistogram[((time%maxPeriod)*numElements/maxPeriod)%numElements] += state;
45-
measurementHistogram[((time%maxPeriod)*numElements/maxPeriod)%numElements]++;
46-
measurements++;
44+
storedHistogram[((time%maxPeriod)*numElements/maxPeriod)%numElements] += state;
45+
measurementHistogram[((time%maxPeriod)*numElements/maxPeriod)%numElements]++;
46+
measurements++;
4747

48-
return 0;
48+
return 0;
4949
}
5050

5151
/*not required in incremental version*/
5252
void CTimeAdaptiveHist::update(int modelOrder,unsigned int* times,float* signal,int length)
5353
{
54-
for (int i=0;i<numElements;i++) predictHistogram[i] = storedHistogram[i];
54+
for (int i=0;i<numElements;i++) predictHistogram[i] = storedHistogram[i];
5555
}
5656

5757
/*text representation of the fremen model*/
5858
void CTimeAdaptiveHist::print(bool verbose)
5959
{
60-
std::cout << "Model " << id << " Size: " << measurements << " ";
61-
if (verbose){
62-
printf("Bin values: ");
63-
for (int i = 0;i<numElements;i++) printf("%.3f ",storedHistogram[i]);
64-
}
65-
printf("\n");
60+
std::cout << "Model " << id << " Size: " << measurements << " ";
61+
if (verbose){
62+
printf("Bin values: ");
63+
for (int i = 0;i<numElements;i++) printf("%.3f ",storedHistogram[i]);
64+
}
65+
printf("\n");
6666
}
6767

6868
float CTimeAdaptiveHist::estimate(uint32_t time)
6969
{
70-
float estimate = storedHistogram[((time%maxPeriod)*numElements/maxPeriod)%numElements];
71-
float saturation = 0.001;
72-
if (estimate > 1.0-saturation) estimate = 1.0-saturation;
73-
if (estimate < 0.0+saturation) estimate = 0.0+saturation;
74-
return estimate;
70+
float estimate = storedHistogram[((time%maxPeriod)*numElements/maxPeriod)%numElements];
71+
float saturation = 0.001;
72+
if (estimate > 1.0-saturation) estimate = 1.0-saturation;
73+
if (estimate < 0.0+saturation) estimate = 0.0+saturation;
74+
return estimate;
7575
}
7676

7777
float CTimeAdaptiveHist::predict(uint32_t time,uint32_t sample_thres)
7878
{
79-
int center=((time%maxPeriod)*numElements/maxPeriod)%numElements;
80-
uint32_t sum=measurementHistogram[center];
81-
float estimate = predictHistogram[center]*(float)measurementHistogram[center];
82-
int i=0;
83-
while(sum<sample_thres)
84-
{
85-
i++;
86-
sum+=measurementHistogram[(center+i)%numElements];
87-
sum+=measurementHistogram[(center-i)%numElements];
88-
estimate+=predictHistogram[(center+i)%numElements]*(float)measurementHistogram[(center+i)%numElements];
89-
estimate+=predictHistogram[(center-i)%numElements]*(float)measurementHistogram[(center-i)%numElements];
90-
}
91-
estimate=estimate/(float)sum;
92-
float saturation = 0.001;
93-
if (estimate > 1.0-saturation) estimate = 1.0-saturation;
94-
if (estimate < 0.0+saturation) estimate = 0.0+saturation;
95-
return estimate;
79+
int center=((time%maxPeriod)*numElements/maxPeriod)%numElements;
80+
uint32_t sum=measurementHistogram[center];
81+
float estimate = predictHistogram[center]*(float)measurementHistogram[center];
82+
int i=0;
83+
while(sum<sample_thres)
84+
{
85+
i++;
86+
sum+=measurementHistogram[(center+i)%numElements];
87+
sum+=measurementHistogram[(center-i)%numElements];
88+
estimate+=predictHistogram[(center+i)%numElements]*(float)measurementHistogram[(center+i)%numElements];
89+
estimate+=predictHistogram[(center-i)%numElements]*(float)measurementHistogram[(center-i)%numElements];
90+
}
91+
estimate=estimate/(float)sum;
92+
float saturation = 0.001;
93+
if (estimate > 1.0-saturation) estimate = 1.0-saturation;
94+
if (estimate < 0.0+saturation) estimate = 0.0+saturation;
95+
return estimate;
9696
}
9797
float CTimeAdaptiveHist::predict(uint32_t time)
9898
{
99-
return CTimeAdaptiveHist::predict(time,(uint32_t)def_sample_threshold);
99+
return CTimeAdaptiveHist::predict(time,(uint32_t)def_sample_threshold);
100100
}
101101
int CTimeAdaptiveHist::save(const char* name,bool lossy)
102102
{
103-
FILE* file = fopen(name,"w");
104-
save(file);
105-
fclose(file);
106-
return 0;
103+
FILE* file = fopen(name,"w");
104+
save(file);
105+
fclose(file);
106+
return 0;
107107
}
108108

109109
int CTimeAdaptiveHist::load(const char* name)
110110
{
111-
FILE* file = fopen(name,"r");
112-
load(file);
113-
fclose(file);
114-
return 0;
111+
FILE* file = fopen(name,"r");
112+
load(file);
113+
fclose(file);
114+
return 0;
115115
}
116116

117117

118118
int CTimeAdaptiveHist::save(FILE* file,bool lossy)
119119
{
120-
return -1;
120+
return -1;
121121
}
122122

123123
int CTimeAdaptiveHist::load(FILE* file)
124124
{
125-
return -1;
125+
return -1;
126126
}
127127

128128
int CTimeAdaptiveHist::exportToArray(double* array,int maxLen)
@@ -147,12 +147,12 @@ int CTimeAdaptiveHist::importFromArray(double* array,int len)
147147
type = (ETemporalType)array[pos++];
148148
numElements = array[pos++];
149149
if (type != TT_ADAPTIVE) fprintf(stderr,"Error loading the model, type mismatch.\n");
150-
id = array[pos++];
150+
id = array[pos++];
151151
def_sample_threshold = array[pos++];
152-
measurements = array[pos++];
153-
154-
for (int i = 0;i<numElements && pos < MAX_TEMPORAL_MODEL_SIZE;i++)storedHistogram[i]=array[pos++];
155-
for (int i = 0;i<numElements && pos < MAX_TEMPORAL_MODEL_SIZE;i++)measurementHistogram[i]=array[pos++];
152+
measurements = array[pos++];
153+
154+
for (int i = 0;i<numElements && pos < MAX_TEMPORAL_MODEL_SIZE;i++)storedHistogram[i]=array[pos++];
155+
for (int i = 0;i<numElements && pos < MAX_TEMPORAL_MODEL_SIZE;i++)measurementHistogram[i]=array[pos++];
156156

157157
if (pos == MAX_TEMPORAL_MODEL_SIZE) fprintf(stdout,"Model was not properly saved before.\n");
158158
return pos;

0 commit comments

Comments
 (0)