local_prec = LCL_GetSysPrecisionAsQuantum();
- low_delay = QNT_GetQuantile(clock->delay_quants, DELAY_QUANT_MIN_K);
- high_delay = QNT_GetQuantile(clock->delay_quants, DELAY_QUANT_MAX_K);
+ low_delay = QNT_GetQuantile(clock->delay_quants, QNT_GetMinK(clock->delay_quants));
+ high_delay = QNT_GetQuantile(clock->delay_quants, QNT_GetMaxK(clock->delay_quants));
low_delay = MIN(low_delay, high_delay);
high_delay = MAX(high_delay, low_delay + local_prec);
/* ================================================== */
+int
+QNT_GetMaxK(QNT_Instance inst)
+{
+ return inst->min_k + (inst->n_quants / inst->repeat) - 1;
+}
+
+/* ================================================== */
+
+double
+QNT_GetMinStep(QNT_Instance inst)
+{
+ return inst->min_step;
+}
+
+/* ================================================== */
+
double
QNT_GetQuantile(QNT_Instance inst, int k)
{
extern void QNT_Reset(QNT_Instance inst);
extern void QNT_Accumulate(QNT_Instance inst, double value);
extern int QNT_GetMinK(QNT_Instance inst);
+extern int QNT_GetMaxK(QNT_Instance inst);
+extern double QNT_GetMinStep(QNT_Instance inst);
extern double QNT_GetQuantile(QNT_Instance inst, int k);
#endif
inst = QNT_CreateInstance(min_k, max_k, q, r, 1e-9);
TEST_CHECK(min_k == QNT_GetMinK(inst));
+ TEST_CHECK(max_k == QNT_GetMaxK(inst));
+ TEST_CHECK(fabs(QNT_GetMinStep(inst) - 1e-9) < 1e-12);
for (j = 0; j < 3000; j++) {
x = TST_GetRandomDouble(0.0, 2e-6);