コード例 #1
0
// ----------------------------------------------------------------
static char* test_percentile_keeper() {

	percentile_keeper_t* ppercentile_keeper = percentile_keeper_alloc();
	percentile_keeper_ingest(ppercentile_keeper, 1.0);
	percentile_keeper_ingest(ppercentile_keeper, 2.0);
	percentile_keeper_ingest(ppercentile_keeper, 3.0);
	percentile_keeper_ingest(ppercentile_keeper, 4.0);
	percentile_keeper_ingest(ppercentile_keeper, 5.0);
	percentile_keeper_print(ppercentile_keeper);

	double p, q;
	p = 0.0;
	q = percentile_keeper_emit(ppercentile_keeper, p);
	printf("%4.2lf -> %7.4lf\n", p, q);
	mu_assert_lf(q == 1.0);

	p = 10.0;
	q = percentile_keeper_emit(ppercentile_keeper, p);
	printf("%4.2lf -> %7.4lf\n", p, q);
	mu_assert_lf(q == 1.0);

	p = 50.0;
	q = percentile_keeper_emit(ppercentile_keeper, p);
	printf("%4.2lf -> %7.4lf\n", p, q);
	mu_assert_lf(q == 3.0);

	p = 90.0;
	q = percentile_keeper_emit(ppercentile_keeper, p);
	printf("%4.2lf -> %7.4lf\n", p, q);
	mu_assert_lf(q == 5.0);

	p = 100.0;
	q = percentile_keeper_emit(ppercentile_keeper, p);
	printf("%4.2lf -> %7.4lf\n", p, q);
	mu_assert_lf(q == 5.0);

	percentile_keeper_free(ppercentile_keeper);

	return NULL;
}
コード例 #2
0
ファイル: mapper_stats1.c プロジェクト: 0-wiz-0/miller
static void acc_percentile_dingest(void* pvstate, double val) {
	acc_percentile_state_t* pstate = pvstate;
	percentile_keeper_ingest(pstate->ppercentile_keeper, val);
}
コード例 #3
0
ファイル: stats1_accumulators.c プロジェクト: indera/miller
static void stats1_percentile_ningest(void* pvstate, mv_t* pval) {
	stats1_percentile_state_t* pstate = pvstate;
	percentile_keeper_ingest(pstate->ppercentile_keeper, *pval);
}