diff options
author | Damien Lespiau <damien.lespiau@intel.com> | 2015-06-26 00:20:44 +0100 |
---|---|---|
committer | Damien Lespiau <damien.lespiau@intel.com> | 2015-06-27 16:03:27 +0100 |
commit | 76ea7b913373d1291a95706dfede7e48a812777e (patch) | |
tree | 1f77410c80ec48262550731d006f9462e05f6152 /lib/tests | |
parent | 515cec1210764241153f5d46d70ba5e943201b14 (diff) |
tests/stats: Make sure we properly invalidate the cached mean
Sure, that's an implementation details, but make sure we do recompute
the mean when we add a new value.
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Diffstat (limited to 'lib/tests')
-rw-r--r-- | lib/tests/igt_stats.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/lib/tests/igt_stats.c b/lib/tests/igt_stats.c index 172e4b32..f9081c76 100644 --- a/lib/tests/igt_stats.c +++ b/lib/tests/igt_stats.c @@ -45,6 +45,30 @@ static void test_mean(void) igt_stats_fini(&stats); } +static void test_invalidate_mean(void) +{ + igt_stats_t stats; + double mean1, mean2; + + igt_stats_init(&stats, 6); + + igt_stats_push(&stats, 2); + igt_stats_push(&stats, 4); + igt_stats_push(&stats, 6); + igt_stats_push(&stats, 8); + igt_stats_push(&stats, 10); + + mean1 = igt_stats_get_mean(&stats); + igt_assert(mean1 == (2 + 4 + 6 + 8 + 10) / 5.); + + igt_stats_push(&stats, 100); + + mean2 = igt_stats_get_mean(&stats); + igt_assert(mean1 != mean2); + + igt_stats_fini(&stats); +} + /* * Taken from the "Basic examples" section of: * https://en.wikipedia.org/wiki/Standard_deviation @@ -80,5 +104,6 @@ static void test_std_deviation(void) igt_simple_main { test_mean(); + test_invalidate_mean(); test_std_deviation(); } |