summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien Lespiau <damien.lespiau@intel.com>2015-06-27 15:32:23 +0100
committerDamien Lespiau <damien.lespiau@intel.com>2015-06-27 16:04:08 +0100
commit3839bacde884a0d8ce55956b3221175a0078844b (patch)
treedae92f15e95c285ad3bcd38342c3149afd8af7b2
parent2fe286985f825128142f56df5dc806a78338b308 (diff)
stats: Add a bulk version of _push()
In case we want to push a bunch of values in one go. Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
-rw-r--r--lib/igt_stats.c17
-rw-r--r--lib/igt_stats.h2
2 files changed, 19 insertions, 0 deletions
diff --git a/lib/igt_stats.c b/lib/igt_stats.c
index 26e4fbf9..5c1f23ff 100644
--- a/lib/igt_stats.c
+++ b/lib/igt_stats.c
@@ -166,6 +166,23 @@ void igt_stats_push(igt_stats_t *stats, uint64_t value)
}
/**
+ * igt_stats_push_array:
+ * @stats: An #igt_stats_t instance
+ * @values: (array length=n_values): A pointer to an array of data points
+ * @n_values: The number of data points to add
+ *
+ * Adds an array of values to the @stats dataset.
+ */
+void igt_stats_push_array(igt_stats_t *stats,
+ const uint64_t *values, unsigned int n_values)
+{
+ unsigned int i;
+
+ for (i = 0; i < n_values; i++)
+ igt_stats_push(stats, values[i]);
+}
+
+/**
* igt_stats_get_min:
* @stats: An #igt_stats_t instance
*
diff --git a/lib/igt_stats.h b/lib/igt_stats.h
index 65e5a02b..46437c48 100644
--- a/lib/igt_stats.h
+++ b/lib/igt_stats.h
@@ -50,6 +50,8 @@ void igt_stats_fini(igt_stats_t *stats);
bool igt_stats_is_population(igt_stats_t *stats);
void igt_stats_set_population(igt_stats_t *stats, bool full_population);
void igt_stats_push(igt_stats_t *stats, uint64_t value);
+void igt_stats_push_array(igt_stats_t *stats,
+ const uint64_t *values, unsigned int n_values);
uint64_t igt_stats_get_min(igt_stats_t *stats);
uint64_t igt_stats_get_max(igt_stats_t *stats);
uint64_t igt_stats_get_range(igt_stats_t *stats);