view Histogram.h @ 9:060d63cb5d34

Build process fixes
author Merten Sach <msach@mailbox.tu-berlin.de>
date Wed, 22 Jun 2011 16:47:34 +0200
parents c83c27796fad
children 7a39408f9ea3
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 void
88 freeDblHist( DblHist *hist );
90 #endif /* _HISTOGRAM_H */