summaryrefslogtreecommitdiff
path: root/performance-tests/SCTP/hist.h
blob: 46999d3918225dace4f718bad02c25765226fb63 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
// $Id$

#include <stdio.h>

#define HIST_VERSION  "1.3"


struct optheader {
  char *key;
  char *value;
  struct optheader *next;
};

typedef struct hist_s {
  char *name;
  double max, min, sum, sum2, sum3, sum4;
  double first, last;
  unsigned int num_points, num_bins;
  unsigned int *hs;
  unsigned int num_outer, max_num_outer;
  double *outer;
  struct hist_s *next;
  int skew;
  struct optheader *firstoptheader;
} hist_t;

#define HIST hist_t *

hist_t *histogram(char *name, unsigned int num_bins, double first,
                  double last);

void set_outer(unsigned int max_num_outer, hist_t *hist);

void enable_skew(hist_t *hist);

void add_field(char *key, char *value, hist_t *hist);

void add_field_n(char *key, int value, hist_t *hist);

void record(double point, hist_t *hist);

void report_to(FILE *strm, hist_t *hist);

void report();

void stats_init();

double get_mean(HIST hist);

double get_min(HIST hist);

double get_max(HIST hist);

double get_variance(HIST hist);

double get_num(HIST hist);

void set_mean(HIST hist, double mean);

void set_min(HIST hist, double min);

void set_max(HIST hist, double max);

void set_variance(HIST hist, double variance);

void add_histogram(HIST dest, HIST source);

double histfloor(double x);