From df80274644490189d150fa94f4c300c7b8735ddb Mon Sep 17 00:00:00 2001 From: Miroslav Lichvar Date: Tue, 19 Jul 2022 14:33:40 +0200 Subject: [PATCH] quantiles: add function to get minimum k --- quantiles.c | 8 ++++++++ quantiles.h | 1 + test/unit/quantiles.c | 2 ++ 3 files changed, 11 insertions(+) diff --git a/quantiles.c b/quantiles.c index 8b72a61..52953db 100644 --- a/quantiles.c +++ b/quantiles.c @@ -185,6 +185,14 @@ QNT_Accumulate(QNT_Instance inst, double value) /* ================================================== */ +int +QNT_GetMinK(QNT_Instance inst) +{ + return inst->min_k; +} + +/* ================================================== */ + double QNT_GetQuantile(QNT_Instance inst, int k) { diff --git a/quantiles.h b/quantiles.h index 590105e..1788544 100644 --- a/quantiles.h +++ b/quantiles.h @@ -35,6 +35,7 @@ extern void QNT_DestroyInstance(QNT_Instance inst); extern void QNT_Reset(QNT_Instance inst); extern void QNT_Accumulate(QNT_Instance inst, double value); +extern int QNT_GetMinK(QNT_Instance inst); extern double QNT_GetQuantile(QNT_Instance inst, int k); #endif diff --git a/test/unit/quantiles.c b/test/unit/quantiles.c index fc6364b..5d97df6 100644 --- a/test/unit/quantiles.c +++ b/test/unit/quantiles.c @@ -42,6 +42,8 @@ test_unit(void) inst = QNT_CreateInstance(min_k, max_k, q, r, 1e-9); + TEST_CHECK(min_k == QNT_GetMinK(inst)); + for (j = 0; j < 3000; j++) { x = TST_GetRandomDouble(0.0, 2e-6); QNT_Accumulate(inst, x);