diff --git a/include/villas/mapping.h b/include/villas/mapping.h index 8291cb2f2..19f2d9b36 100644 --- a/include/villas/mapping.h +++ b/include/villas/mapping.h @@ -45,16 +45,6 @@ enum mapping_type { MAPPING_TYPE_TIMESTAMP }; -enum mapping_stats_type { - MAPPING_STATS_TYPE_LAST, - MAPPING_STATS_TYPE_HIGHEST, - MAPPING_STATS_TYPE_LOWEST, - MAPPING_STATS_TYPE_MEAN, - MAPPING_STATS_TYPE_VAR, - MAPPING_STATS_TYPE_STDDEV, - MAPPING_STATS_TYPE_TOTAL -}; - enum mapping_header_type { MAPPING_HEADER_TYPE_LENGTH, MAPPING_HEADER_TYPE_SEQUENCE @@ -85,7 +75,7 @@ struct mapping_entry { struct { enum stats_id id; - enum mapping_stats_type type; + enum stats_type type; } stats; struct { diff --git a/include/villas/stats.h b/include/villas/stats.h index 3fd65e32d..d2285acb3 100644 --- a/include/villas/stats.h +++ b/include/villas/stats.h @@ -51,6 +51,16 @@ enum stats_id { STATS_COUNT /**< Just here to have an updated number of statistics. */ }; +enum stats_type { + STATS_TYPE_LAST, + STATS_TYPE_HIGHEST, + STATS_TYPE_LOWEST, + STATS_TYPE_MEAN, + STATS_TYPE_VAR, + STATS_TYPE_STDDEV, + STATS_TYPE_TOTAL +}; + struct stats_desc { const char *name; const char *unit; diff --git a/lib/mapping.c b/lib/mapping.c index e09a6758d..6480ff9d1 100644 --- a/lib/mapping.c +++ b/lib/mapping.c @@ -89,19 +89,19 @@ int mapping_parse_str(struct mapping_entry *me, const char *str, struct vlist *n me->stats.id = id; if (!strcmp(subfield, "total")) - me->stats.type = MAPPING_STATS_TYPE_TOTAL; + me->stats.type = STATS_TYPE_TOTAL; else if (!strcmp(subfield, "last")) - me->stats.type = MAPPING_STATS_TYPE_LAST; + me->stats.type = STATS_TYPE_LAST; else if (!strcmp(subfield, "lowest")) - me->stats.type = MAPPING_STATS_TYPE_LOWEST; + me->stats.type = STATS_TYPE_LOWEST; else if (!strcmp(subfield, "highest")) - me->stats.type = MAPPING_STATS_TYPE_HIGHEST; + me->stats.type = STATS_TYPE_HIGHEST; else if (!strcmp(subfield, "mean")) - me->stats.type = MAPPING_STATS_TYPE_MEAN; + me->stats.type = STATS_TYPE_MEAN; else if (!strcmp(subfield, "var")) - me->stats.type = MAPPING_STATS_TYPE_VAR; + me->stats.type = STATS_TYPE_VAR; else if (!strcmp(subfield, "stddev")) - me->stats.type = MAPPING_STATS_TYPE_STDDEV; + me->stats.type = STATS_TYPE_STDDEV; else { warning("Invalid stats sub-type"); goto invalid_format; @@ -280,25 +280,25 @@ int mapping_update(const struct mapping_entry *me, struct sample *remapped, cons const struct hist *h = &s->histograms[me->stats.id]; switch (me->stats.type) { - case MAPPING_STATS_TYPE_TOTAL: + case STATS_TYPE_TOTAL: remapped->data[off++].i = h->total; break; - case MAPPING_STATS_TYPE_LAST: + case STATS_TYPE_LAST: remapped->data[off++].f = h->last; break; - case MAPPING_STATS_TYPE_HIGHEST: + case STATS_TYPE_HIGHEST: remapped->data[off++].f = h->highest; break; - case MAPPING_STATS_TYPE_LOWEST: + case STATS_TYPE_LOWEST: remapped->data[off++].f = h->lowest; break; - case MAPPING_STATS_TYPE_MEAN: + case STATS_TYPE_MEAN: remapped->data[off++].f = hist_mean(h); break; - case MAPPING_STATS_TYPE_STDDEV: + case STATS_TYPE_STDDEV: remapped->data[off++].f = hist_stddev(h); break; - case MAPPING_STATS_TYPE_VAR: + case STATS_TYPE_VAR: remapped->data[off++].f = hist_var(h); break; default: @@ -381,31 +381,31 @@ int mapping_to_str(const struct mapping_entry *me, unsigned index, char **str) switch (me->type) { case MAPPING_TYPE_STATS: switch (me->stats.type) { - case MAPPING_STATS_TYPE_TOTAL: + case STATS_TYPE_TOTAL: type = "total"; break; - case MAPPING_STATS_TYPE_LAST: + case STATS_TYPE_LAST: type = "last"; break; - case MAPPING_STATS_TYPE_LOWEST: + case STATS_TYPE_LOWEST: type = "lowest"; break; - case MAPPING_STATS_TYPE_HIGHEST: + case STATS_TYPE_HIGHEST: type = "highest"; break; - case MAPPING_STATS_TYPE_MEAN: + case STATS_TYPE_MEAN: type = "mean"; break; - case MAPPING_STATS_TYPE_VAR: + case STATS_TYPE_VAR: type = "var"; break; - case MAPPING_STATS_TYPE_STDDEV: + case STATS_TYPE_STDDEV: type = "stddev"; break; diff --git a/lib/signal.c b/lib/signal.c index 31b9258a9..4015f4aa7 100644 --- a/lib/signal.c +++ b/lib/signal.c @@ -56,16 +56,16 @@ int signal_init_from_mapping(struct signal *s, const struct mapping_entry *me, u switch (me->type) { case MAPPING_TYPE_STATS: switch (me->stats.type) { - case MAPPING_STATS_TYPE_TOTAL: + case STATS_TYPE_TOTAL: s->type = SIGNAL_TYPE_INTEGER; break; - case MAPPING_STATS_TYPE_LAST: - case MAPPING_STATS_TYPE_LOWEST: - case MAPPING_STATS_TYPE_HIGHEST: - case MAPPING_STATS_TYPE_MEAN: - case MAPPING_STATS_TYPE_VAR: - case MAPPING_STATS_TYPE_STDDEV: + case STATS_TYPE_LAST: + case STATS_TYPE_LOWEST: + case STATS_TYPE_HIGHEST: + case STATS_TYPE_MEAN: + case STATS_TYPE_VAR: + case STATS_TYPE_STDDEV: s->type = SIGNAL_TYPE_FLOAT; break; } diff --git a/tests/unit/mapping.cpp b/tests/unit/mapping.cpp index 91d2a290c..7d467240c 100644 --- a/tests/unit/mapping.cpp +++ b/tests/unit/mapping.cpp @@ -74,7 +74,7 @@ Test(mapping, parse_nodes) cr_assert_eq(m.node, vlist_lookup(&nodes, "cherry")); cr_assert_eq(m.type, MAPPING_TYPE_STATS); cr_assert_eq(m.stats.id, STATS_OWD); - cr_assert_eq(m.stats.type, MAPPING_STATS_TYPE_MEAN); + cr_assert_eq(m.stats.type, STATS_TYPE_MEAN); ret = mapping_parse_str(&m, "carrot.data[1-2]", &nodes); cr_assert_eq(ret, 0); @@ -127,7 +127,7 @@ Test(mapping, parse) cr_assert_eq(ret, 0); cr_assert_eq(m.type, MAPPING_TYPE_STATS); cr_assert_eq(m.stats.id, STATS_OWD); - cr_assert_eq(m.stats.type, MAPPING_STATS_TYPE_MEAN); + cr_assert_eq(m.stats.type, STATS_TYPE_MEAN); ret = mapping_parse_str(&m, "data[1-2]", nullptr); cr_assert_eq(ret, 0);