Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> --- lib/igt_stats.c | 22 ++++++++++++++++++++++ lib/igt_stats.h | 2 ++ 2 files changed, 24 insertions(+) diff --git a/lib/igt_stats.c b/lib/igt_stats.c index 37fcc23..1103a7b 100644 --- a/lib/igt_stats.c +++ b/lib/igt_stats.c @@ -133,6 +133,28 @@ void igt_stats_init_with_size(igt_stats_t *stats, unsigned int capacity) stats->max = 0; } +/** + * igt_stats_init_from_array: + * @stats: An #igt_stats_t instance + * @array: (array length=n): Array of uint64_t + * @n: Length of @array + * + * Short hand for: + * |[ + * static const uint64_t s[] = { 10, 12, 14, 16, 87, 53, 90, 72 }; + * igt_stats_t stats; + * + * igt_stats_init(&stats); + * igt_stats_push_array(&stats, s, ARRAY_SIZE(s)); + * ]| + */ +void igt_stats_init_from_array(igt_stats_t *stats, + const uint64_t *array, unsigned int n) +{ + igt_stats_init(stats); + igt_stats_push_array(stats, array, n); +} + /* https://en.wikipedia.org/wiki/Box%E2%80%93Muller_transform */ static double rand_normal(double mean, double stddev) { diff --git a/lib/igt_stats.h b/lib/igt_stats.h index e1757b7..d6eb48f 100644 --- a/lib/igt_stats.h +++ b/lib/igt_stats.h @@ -49,6 +49,8 @@ typedef struct { void igt_stats_init(igt_stats_t *stats); void igt_stats_init_with_size(igt_stats_t *stats, unsigned int capacity); +void igt_stats_init_from_array(igt_stats_t *stats, + const uint64_t *array, unsigned int n); void igt_stats_init_normal(igt_stats_t *stats, double mean, double std_deviation, unsigned int n_values); -- 2.1.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx