view prhistogram.h @ 1:14241f07f742

committing files from /usr/include/PR__include directly.. test..
author Sean Halle <seanhalle@yahoo.com>
date Thu, 08 Aug 2013 03:00:36 -0700
parents d460a47ed2d6
children c3829f630c2f
line source
1 /*
2 * Copyright 2010 OpenSourceResearchInstitute.org
3 * Licensed under GNU General Public License version 2
4 *
5 * Author: seanhalle@yahoo.com
6 *
7 */
10 #ifndef _PRHISTOGRAM_H
11 #define _PRHISTOGRAM_H
13 #include <PR__include/prmalloc.h>
14 #include <PR__include/PR__primitive_data_types.h>
17 typedef struct
18 {
19 char *name;
20 int32 startOfRange;
21 int32 endOfRange;
22 int32 numBins;
23 int32 binWidth;
24 int32 *bins;
25 }
26 Histogram;
28 typedef struct
29 {
30 float32 startOfRange;
31 float32 endOfRange;
32 int32 numBins;
33 float32 binWidth;
34 int32 *bins;
35 }
36 FloatHist;
38 typedef struct
39 {
40 float64 startOfRange;
41 float64 endOfRange;
42 int32 numBins;
43 float64 binWidth;
44 int32 *bins;
45 }
46 DblHist;
48 Histogram *
49 makeHistogram( int32 numBins, int32 startOfRange, int32 endOfRange );
51 Histogram *
52 makeFixedBinHist( int32 numBins, int32 startOfRange, int32 binWidth,
53 char *name );
55 Histogram *
56 makeFixedBinHistExt( int32 numBins, int32 startOfRange, int32 binWidth,
57 char *name );
59 void inline
60 addToHist( int32 value, Histogram *hist );
62 void inline
63 addIntervalToHist( uint32 startIntvl, uint32 endIntvl, Histogram *hist );
65 void inline
66 subIntervalFromHist( int32 startIntvl, int32 endIntvl, Histogram *hist );
68 void
69 saveHistToFile(Histogram *hist);
71 void
72 printHist( Histogram *hist );
74 FloatHist *
75 makeFloatHistogram( int numBins, float32 startOfRange, float32 binWidth );
77 void
78 addToFloatHist( float32 value, FloatHist *hist );
80 void
81 printFloatHist( FloatHist *hist );
83 void
84 freeHistExt( Histogram *hist );
86 void
87 freeHist( Histogram *hist );
89 DblHist *
90 makeDblHistogram( int numBins, float64 startOfRange, float64 binWidth );
92 void
93 addToDblHist( float64 value, DblHist *hist );
95 void
96 printDblHist( DblHist *hist );
98 void
99 freeDblHist( DblHist *hist );
101 #endif /* _HISTOGRAM_H */