From 3839bacde884a0d8ce55956b3221175a0078844b Mon Sep 17 00:00:00 2001 From: Damien Lespiau Date: Sat, 27 Jun 2015 15:32:23 +0100 Subject: [PATCH] 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 --- lib/igt_stats.c | 17 +++++++++++++++++ lib/igt_stats.h | 2 ++ 2 files changed, 19 insertions(+) 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 @@ -165,6 +165,23 @@ void igt_stats_push(igt_stats_t *stats, uint64_t value) stats->max = 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);