summaryrefslogtreecommitdiff
path: root/performance-tests/SCTP/hist.h
blob: efb8371626775b8de1db383ae4f52e0d13e00b37 (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
69
70
71
// $Id$

#include <stdio.h>

#define HIST_VERSION  "1.3"

namespace ACE_SCTP
{

  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);
}