Lines Matching refs:data

71 int stats_container_init(stats_container_t * data, long size)
73 data->size = size;
74 data->index = -1;
75 data->records = calloc(size, sizeof(stats_record_t));
76 if (!data->records)
81 int stats_container_append(stats_container_t * data, stats_record_t rec)
83 int myindex = ++data->index;
84 if (myindex >= data->size) {
86 data->size);
87 data->index--;
90 data->records[myindex] = rec;
94 int stats_container_resize(stats_container_t * data, long size)
97 realloc(data->records, size * sizeof(stats_record_t));
100 data->records = newrecords;
101 if (data->size < size)
102 memset(data->records + data->size, 0, size - data->size);
103 data->size = size;
107 int stats_container_free(stats_container_t * data)
109 free(data->records);
113 int stats_sort(stats_container_t * data, enum stats_sort_method method)
116 qsort(data->records, data->index + 1, sizeof(stats_record_t),
121 float stats_stddev(stats_container_t * data)
128 n = data->index + 1;
133 sum += data->records[i].y;
140 delta = (data->records[i].y - avg);
150 float stats_avg(stats_container_t * data)
156 n = data->index + 1;
161 sum += data->records[i].y;
168 long stats_min(stats_container_t * data)
174 n = data->index + 1;
177 min = data->records[0].y;
179 if (data->records[i].y < min) {
180 min = data->records[i].y;
187 long stats_max(stats_container_t * data)
193 n = data->index + 1;
196 max = data->records[0].y;
198 if (data->records[i].y > max) {
199 max = data->records[i].y;
226 int stats_quantiles_calc(stats_container_t * data,
233 // check for sufficient data size of accurate calculation
234 if (data->index < 0 ||
235 (data->index + 1) < (long)exp10(quantiles->nines)) {
239 size = data->index + 1;
240 stats_sort(data, ASCENDING_ON_Y);
244 quantiles->quantiles[i - 2] = data->records[index].y;
260 int stats_hist(stats_container_t * hist, stats_container_t * data)
269 if (hist->size <= 0 || data->index < 0) {
274 min = max = data->records[0].y;
275 for (i = 0; i <= data->index; i++) {
276 y = data->records[i].y;
291 for (i = 0; i <= data->index; i++) {
292 y = data->records[i].y;
314 char *ylabel, stats_container_t * data, char *mode)
330 "Failed to allocate string for data filename\n");
339 /* generate the data file */
344 minx = maxx = data->records[0].x;
345 miny = maxy = data->records[0].y;
346 for (i = 0; i <= data->index; i++) {
347 rec = &data->records[i];