summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/igt_stats.c14
-rw-r--r--lib/igt_stats.h2
-rw-r--r--lib/tests/igt_stats.c14
3 files changed, 30 insertions, 0 deletions
diff --git a/lib/igt_stats.c b/lib/igt_stats.c
index c7d5fbd2..12cabba0 100644
--- a/lib/igt_stats.c
+++ b/lib/igt_stats.c
@@ -91,6 +91,20 @@ void igt_stats_fini(igt_stats_t *stats)
free(stats->values);
}
+
+/**
+ * igt_stats_is_population:
+ * @stats: An #igt_stats_t instance
+ *
+ * Returns: #true if @stats represents a population, #false if only a sample.
+ *
+ * See igt_stats_set_population() for more details.
+ */
+bool igt_stats_is_population(igt_stats_t *stats)
+{
+ return stats->is_population;
+}
+
/**
* igt_stats_set_population:
* @stats: An #igt_stats_t instance
diff --git a/lib/igt_stats.h b/lib/igt_stats.h
index d2c1cc7a..ebc28ca3 100644
--- a/lib/igt_stats.h
+++ b/lib/igt_stats.h
@@ -26,6 +26,7 @@
#define __IGT_STATS_H__
#include <stdint.h>
+#include <stdbool.h>
/**
* igt_stats_t:
@@ -45,6 +46,7 @@ typedef struct {
void igt_stats_init(igt_stats_t *stats, unsigned int capacity);
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);
double igt_stats_get_mean(igt_stats_t *stats);
diff --git a/lib/tests/igt_stats.c b/lib/tests/igt_stats.c
index 59097c8d..5c5e86a4 100644
--- a/lib/tests/igt_stats.c
+++ b/lib/tests/igt_stats.c
@@ -35,6 +35,19 @@ static void test_init_zero(void)
igt_assert(stats.mean == 0.);
}
+static void test_init(void)
+{
+ igt_stats_t stats;
+
+ igt_stats_init(&stats, 2);
+
+ /*
+ * Make sure we default to representing only a sample of a bigger
+ * population.
+ */
+ igt_assert(igt_stats_is_population(&stats) == false);
+}
+
static void test_mean(void)
{
igt_stats_t stats;
@@ -115,6 +128,7 @@ static void test_std_deviation(void)
igt_simple_main
{
test_init_zero();
+ test_init();
test_mean();
test_invalidate_mean();
test_std_deviation();