| rev |
line source |
|
Me@14
|
1 /*
|
|
Me@14
|
2 * Copyright 2010 OpenSourceStewardshipFoundation.org
|
|
Me@14
|
3 * Licensed under GNU General Public License version 2
|
|
Me@14
|
4 *
|
|
Me@14
|
5 * Author: seanhalle@yahoo.com
|
|
Me@14
|
6 *
|
|
Me@14
|
7 */
|
|
Me@14
|
8
|
|
Me@14
|
9 #include "primitive_data_types.h"
|
|
Me@14
|
10
|
|
Me@14
|
11 #ifndef _HISTOGRAM_H
|
|
Me@14
|
12 #define _HISTOGRAM_H
|
|
Me@14
|
13
|
|
Me@14
|
14 typedef struct
|
|
Me@14
|
15 {
|
|
Me@14
|
16 char *name;
|
|
Me@14
|
17 int32 startOfRange;
|
|
Me@14
|
18 int32 endOfRange;
|
|
Me@14
|
19 int32 numBins;
|
|
Me@14
|
20 int32 binWidth;
|
|
Me@14
|
21 int32 *bins;
|
|
Me@14
|
22 }
|
|
Me@14
|
23 Histogram;
|
|
Me@14
|
24
|
|
Me@14
|
25 typedef struct
|
|
Me@14
|
26 {
|
|
Me@14
|
27 float32 startOfRange;
|
|
Me@14
|
28 float32 endOfRange;
|
|
Me@14
|
29 int32 numBins;
|
|
Me@14
|
30 float32 binWidth;
|
|
Me@14
|
31 int32 *bins;
|
|
Me@14
|
32 }
|
|
Me@14
|
33 FloatHist;
|
|
Me@14
|
34
|
|
Me@14
|
35 typedef struct
|
|
Me@14
|
36 {
|
|
Me@14
|
37 float64 startOfRange;
|
|
Me@14
|
38 float64 endOfRange;
|
|
Me@14
|
39 int32 numBins;
|
|
Me@14
|
40 float64 binWidth;
|
|
Me@14
|
41 int32 *bins;
|
|
Me@14
|
42 }
|
|
Me@14
|
43 DblHist;
|
|
Me@14
|
44
|
|
Me@14
|
45 Histogram *
|
|
Me@14
|
46 makeHistogram( int32 numBins, int32 startOfRange, int32 endOfRange );
|
|
Me@14
|
47
|
|
Me@14
|
48 Histogram *
|
|
Me@14
|
49 makeFixedBinHist( int32 numBins, int32 startOfRange, int32 binWidth,
|
|
Me@14
|
50 char *name );
|
|
Me@14
|
51
|
|
Me@14
|
52 Histogram *
|
|
Me@14
|
53 makeFixedBinHistExt( int32 numBins, int32 startOfRange, int32 binWidth,
|
|
Me@14
|
54 char *name );
|
|
Me@14
|
55
|
|
Me@14
|
56 void inline
|
|
Me@14
|
57 addToHist( int32 value, Histogram *hist );
|
|
Me@14
|
58
|
|
Me@14
|
59 void inline
|
|
Me@14
|
60 addIntervalToHist( uint32 startIntvl, uint32 endIntvl, Histogram *hist );
|
|
Me@14
|
61
|
|
Me@14
|
62 void inline
|
|
Me@14
|
63 subIntervalFromHist( int32 startIntvl, int32 endIntvl, Histogram *hist );
|
|
Me@14
|
64
|
|
Me@14
|
65 void
|
|
Me@14
|
66 saveHistToFile(Histogram *hist);
|
|
Me@14
|
67
|
|
Me@14
|
68 void
|
|
Me@14
|
69 printHist( Histogram *hist );
|
|
Me@14
|
70
|
|
Me@14
|
71 FloatHist *
|
|
Me@14
|
72 makeFloatHistogram( int numBins, float32 startOfRange, float32 binWidth );
|
|
Me@14
|
73
|
|
Me@14
|
74 void
|
|
Me@14
|
75 addToFloatHist( float32 value, FloatHist *hist );
|
|
Me@14
|
76
|
|
Me@14
|
77 void
|
|
Me@14
|
78 printFloatHist( FloatHist *hist );
|
|
Me@14
|
79
|
|
Me@14
|
80 void
|
|
Me@14
|
81 freeHistExt( Histogram *hist );
|
|
Me@14
|
82
|
|
Me@14
|
83 void
|
|
Me@14
|
84 freeHist( Histogram *hist );
|
|
Me@14
|
85
|
|
Me@14
|
86 DblHist *
|
|
Me@14
|
87 makeDblHistogram( int numBins, float64 startOfRange, float64 binWidth );
|
|
Me@14
|
88
|
|
Me@14
|
89 void
|
|
Me@14
|
90 addToDblHist( float64 value, DblHist *hist );
|
|
Me@14
|
91
|
|
Me@14
|
92 void
|
|
Me@14
|
93 printDblHist( DblHist *hist );
|
|
Me@14
|
94
|
|
Me@14
|
95 void
|
|
Me@14
|
96 freeDblHist( DblHist *hist );
|
|
Me@14
|
97
|
|
Me@14
|
98 #endif /* _HISTOGRAM_H */
|
|
Me@14
|
99
|