Lines Matching defs:ctl
21 bench_ctl_t *ctl;
23 ctl = calloc(1, sizeof(*ctl));
24 ctl->mode = mode;
25 ctl->result_dimensions = dimensions;
26 ctl->min_runs = min_runs;
29 ctl->data = calloc(min_runs * dimensions, sizeof(*ctl->data));
34 return ctl;
37 void bench_ctl_destroy(bench_ctl_t *ctl)
39 free(ctl->data);
40 free(ctl);
43 void bench_ctl_dry_runs(bench_ctl_t *ctl,
46 ctl->dry_runs = dry_runs;
49 bool bench_ctl_add_run(bench_ctl_t *ctl,
54 if (ctl->result_count == ctl->min_runs) {
58 dst = ctl->data + ctl->result_count * ctl->result_dimensions;
59 memcpy(dst, result, sizeof(dst) * ctl->result_dimensions);
61 ctl->result_count++;
63 return ctl->result_count == ctl->min_runs;
66 void bench_ctl_dump_csv(bench_ctl_t *ctl,
72 size_t dim = ctl->result_dimensions;
74 for (i = 0; i < ctl->result_count; i++) {
77 v = ctl->data + i * dim;
122 static cycles_t *do_bincounting(bench_ctl_t *ctl,
134 for (i = 0; i < ctl->result_count; i++) {
135 v = ctl->data + (ctl->result_dimensions * i + dimension);
142 static cycles_t *get_array(bench_ctl_t *ctl,
145 cycles_t *array = calloc(ctl->result_count, sizeof(cycles_t));
148 for (size_t i = 0; i < ctl->result_count; i++) {
149 array[i] = *(ctl->data + (ctl->result_dimensions * i
176 void bench_ctl_dump_analysis(bench_ctl_t *ctl,
181 size_t len = ctl->result_count;
182 cycles_t *array = get_array(ctl, dimension);
242 void bench_ctl_dump_csv_bincounting(bench_ctl_t *ctl,
254 bins = do_bincounting(ctl, dimension, bin_count, min, max);