view Histogram.h @ 10:7a39408f9ea3

Version 0
author Merten Sach <msach@mailbox.tu-berlin.de>
date Mon, 11 Jul 2011 18:10:52 +0200
parents 060d63cb5d34
children 20410d90dabb
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( uint32 startIntvl, uint32 endIntvl, Histogram *hist );
62 void inline
63 subIntervalFromHist( int32 startIntvl, int32 endIntvl, Histogram *hist );
65 void
66 saveHistToFile(Histogram *hist);
68 void
69 printHist( Histogram *hist );
71 FloatHist *
72 makeFloatHistogram( int numBins, float32 startOfRange, float32 binWidth );
74 void
75 addToFloatHist( float32 value, FloatHist *hist );
77 void
78 printFloatHist( FloatHist *hist );
80 void
81 freeHistExt( Histogram *hist );
84 DblHist *
85 makeDblHistogram( int numBins, float64 startOfRange, float64 binWidth );
87 void
88 addToDblHist( float64 value, DblHist *hist );
90 void
91 printDblHist( DblHist *hist );
93 void
94 freeDblHist( DblHist *hist );
96 #endif /* _HISTOGRAM_H */