librfn
An ad-hoc utility library
stats.h
Go to the documentation of this file.
1 /*
2  * stats.h
3  *
4  * Part of librfn (a general utility library from redfelineninja.org.uk)
5  *
6  * Copyright (C) 2015 Daniel Thompson <daniel@redfelineninja.org.uk>
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU Lesser General Public License as published
10  * by the Free Software Foundation; either version 3 of the License, or
11  * (at your option) any later version.
12  */
13 
14 #ifndef RF_STATS_H_
15 #define RF_STATS_H_
16 
17 #include <stdint.h>
18 #include <string.h>
19 
31 #if defined STATS_USE_FLOAT
32 typedef float statval_t;
33 #elif defined STATS_USE_DOUBLE
34 typedef double statval_t;
35 #elif defined STATS_USE_UINT64
36 typedef uint64_t statval_t;
37 #else
38 typedef uint32_t statval_t;
39 #endif
40 
41 typedef struct stats {
46 } stats_t;
47 
48 void stats_init(stats_t *s);
49 void stats_add(stats_t *s, statval_t d);
50 
53 
55 #endif // RF_STATS_H_
void stats_add(stats_t *s, statval_t d)
Definition: stats.c:30
void stats_init(stats_t *s)
Definition: stats.c:16
statval_t min
Definition: stats.h:42
statval_t max
Definition: stats.h:43
statval_t accumulator
Definition: stats.h:44
statval_t count
Definition: stats.h:45
Definition: stats.h:41
statval_t stats_per_million(stats_t *s, statval_t total)
Definition: stats.c:51
uint32_t statval_t
Definition: stats.h:38
statval_t stats_mean(stats_t *s)
Definition: stats.c:42
struct stats stats_t