Mercurial > cgi-bin > hgwebdir.cgi > VMS > C_Libraries > Histogram
view Histogram.h @ 8:c83c27796fad
Added sub from hist, added "total" to print and return when bar is zero
| author | Me |
|---|---|
| date | Sat, 20 Nov 2010 08:41:39 +0100 |
| parents | fa6a281bd854 |
| children | 060d63cb5d34 |
line source
1 /*
2 * Copyright 2010 OpenSourceStewardshipFoundation.org
3 * Licensed under GNU General Public License version 2
4 *
5 * Author: seanhalle@yahoo.com
6 *
7 */
9 #include "../VMS_primitive_data_types.h"
11 #ifndef _HISTOGRAM_H
12 #define _HISTOGRAM_H
14 typedef struct
15 {
16 char *name;
17 int32 startOfRange;
18 int32 endOfRange;
19 int32 numBins;
20 int32 binWidth;
21 int32 *bins;
22 }
23 Histogram;
25 typedef struct
26 {
27 float32 startOfRange;
28 float32 endOfRange;
29 int32 numBins;
30 float32 binWidth;
31 int32 *bins;
32 }
33 FloatHist;
35 typedef struct
36 {
37 float64 startOfRange;
38 float64 endOfRange;
39 int32 numBins;
40 float64 binWidth;
41 int32 *bins;
42 }
43 DblHist;
45 Histogram *
46 makeHistogram( int32 numBins, int32 startOfRange, int32 endOfRange );
48 Histogram *
49 makeFixedBinHist( int32 numBins, int32 startOfRange, int32 binWidth,
50 char *name );
52 Histogram *
53 makeFixedBinHistExt( int32 numBins, int32 startOfRange, int32 binWidth,
54 char *name );
56 void inline
57 addToHist( int32 value, Histogram *hist );
59 void inline
60 addIntervalToHist( int32 startIntvl, int32 endIntvl, Histogram *hist );
62 void inline
63 subIntervalFromHist( int32 startIntvl, int32 endIntvl, Histogram *hist );
65 void
66 printHist( Histogram *hist );
68 FloatHist *
69 makeFloatHistogram( int numBins, float32 startOfRange, float32 binWidth );
71 void
72 addToFloatHist( float32 value, FloatHist *hist );
74 void
75 printFloatHist( FloatHist *hist );
78 DblHist *
79 makeDblHistogram( int numBins, float64 startOfRange, float64 binWidth );
81 void
82 addToDblHist( float64 value, DblHist *hist );
84 void
85 printDblHist( DblHist *hist );
87 #endif /* _HISTOGRAM_H */
