diff mbox

[i-g-t,16/18] stats: Add a bulk version of _push()

Message ID 1435417696-28115-17-git-send-email-damien.lespiau@intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Lespiau, Damien June 27, 2015, 3:08 p.m. UTC
In case we want to push a bunch of values in one go.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
---
 lib/igt_stats.c | 17 +++++++++++++++++
 lib/igt_stats.h |  2 ++
 2 files changed, 19 insertions(+)
diff mbox

Patch

diff --git a/lib/igt_stats.c b/lib/igt_stats.c
index 26e4fbf..5c1f23f 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 65e5a02..46437c4 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);