summaryrefslogtreecommitdiff
path: root/lib/igt_stats.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2015-07-01 18:52:46 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2015-07-01 18:58:46 +0100
commit2d305f61995cc896aaa1d3be01c33d90515c22e0 (patch)
treee4fd0a11e6e40d137a1e83c97bb012b3a119152b /lib/igt_stats.c
parent19135a34471ec4da4d7cc8493c371b8c38879f0b (diff)
stats: Add trimean
https://en.wikipedia.org/wiki/Trimean The trimean is a the most efficient 3-point L-estimator (estimator of central tendency, i.e. average), even more robust than the median at estimating the average of a sample population. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'lib/igt_stats.c')
-rw-r--r--lib/igt_stats.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/igt_stats.c b/lib/igt_stats.c
index cec35876..b7053c3c 100644
--- a/lib/igt_stats.c
+++ b/lib/igt_stats.c
@@ -528,3 +528,19 @@ double igt_stats_get_iqm(igt_stats_t *stats)
return mean;
}
+
+/**
+ * igt_stats_get_trimean:
+ * @stats: An #igt_stats_t instance
+ *
+ * Retrieves the trimean of the @stats dataset.
+ *
+ * The trimean is a the most efficient 3-point L-estimator, even more
+ * robust than the median at estimating the average of a sample population.
+ */
+double igt_stats_get_trimean(igt_stats_t *stats)
+{
+ double q1, q2, q3;
+ igt_stats_get_quartiles(stats, &q1, &q2, &q3);
+ return (q1 + 2*q2 + q3) / 4;
+}