aboutsummaryrefslogtreecommitdiff
path: root/src/lib/ndpi_analyze.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/ndpi_analyze.c')
-rw-r--r--src/lib/ndpi_analyze.c32
1 files changed, 16 insertions, 16 deletions
diff --git a/src/lib/ndpi_analyze.c b/src/lib/ndpi_analyze.c
index d1335bb64..f648e92ae 100644
--- a/src/lib/ndpi_analyze.c
+++ b/src/lib/ndpi_analyze.c
@@ -40,7 +40,7 @@ void ndpi_init_data_analysis(struct ndpi_analyze_struct *ret, u_int16_t _max_ser
u_int32_t len;
memset(ret, 0, sizeof(struct ndpi_analyze_struct));
-
+
if(_max_series_len > MAX_SERIES_LEN) _max_series_len = MAX_SERIES_LEN;
ret->num_values_array_len = _max_series_len;
@@ -61,8 +61,8 @@ struct ndpi_analyze_struct* ndpi_alloc_data_analysis(u_int16_t _max_series_len)
struct ndpi_analyze_struct *ret = ndpi_malloc(sizeof(struct ndpi_analyze_struct));
if(ret != NULL)
- ndpi_init_data_analysis(ret, _max_series_len);
-
+ ndpi_init_data_analysis(ret, _max_series_len);
+
return(ret);
}
@@ -89,18 +89,18 @@ void ndpi_data_add_value(struct ndpi_analyze_struct *s, const u_int32_t value) {
}
s->sum_total += value, s->num_data_entries++;
-
+
if(s->num_values_array_len) {
s->values[s->next_value_insert_index] = value;
if(++s->next_value_insert_index == s->num_values_array_len)
s->next_value_insert_index = 0;
}
-
+
/* Update stddev */
tmp_mu = s->stddev.mu;
s->stddev.mu = ((s->stddev.mu * (s->num_data_entries - 1)) + value) / s->num_data_entries;
- s->stddev.q = s->stddev.q + (value - tmp_mu)*(value - s->stddev.mu);
+ s->stddev.q = s->stddev.q + (value - tmp_mu)*(value - s->stddev.mu);
}
/* ********************************************************************************* */
@@ -137,10 +137,10 @@ float ndpi_data_window_average(struct ndpi_analyze_struct *s) {
if(s->num_values_array_len) {
float sum = 0.0;
u_int16_t i, n = ndpi_min(s->num_data_entries, s->num_values_array_len);
-
+
for(i=0; i<n; i++)
sum += s->values[i];
-
+
return((float)sum / (float)n);
} else
return(0);
@@ -155,17 +155,17 @@ float ndpi_data_entropy(struct ndpi_analyze_struct *s) {
if(s->num_values_array_len) {
int i;
float sum = 0.0, total = 0.0;
-
+
for(i=0; i<s->num_values_array_len; i++)
total += s->values[i];
-
+
for (i=0; i<s->num_values_array_len; i++) {
float tmp = (float)s->values[i] / (float)total;
-
+
if(tmp > FLT_EPSILON)
- sum -= tmp * logf(tmp);
+ sum -= tmp * logf(tmp);
}
-
+
return(sum / logf(2.0));
} else
return(0);
@@ -176,10 +176,10 @@ float ndpi_data_entropy(struct ndpi_analyze_struct *s) {
void ndpi_data_print_window_values(struct ndpi_analyze_struct *s) {
if(s->num_values_array_len) {
u_int16_t i, n = ndpi_min(s->num_data_entries, s->num_values_array_len);
-
+
for(i=0; i<n; i++)
printf("[%u: %u]", i, s->values[i]);
-
+
printf("\n");
}
}
@@ -196,7 +196,7 @@ void ndpi_data_print_window_values(struct ndpi_analyze_struct *s) {
float ndpi_data_ratio(u_int32_t sent, u_int32_t rcvd) {
float s = (float)((int64_t)sent + (int64_t)rcvd);
float d = (float)((int64_t)sent - (int64_t)rcvd);
-
+
return((s == 0) ? 0 : (d/s));
}