view Histogram.h @ 23:0d2f5b1db610

More progress towards getting common_ancestor working
author Some Random Person <seanhalle@yahoo.com>
date Tue, 13 Mar 2012 18:31:05 -0700
parents 4d9af65ad3df
children 75df4e468930 5d1597d9b24a
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_impl/VMS_primitive_data_types.h"
10 #include "VMS_impl/Services_Offered_by_VMS/Memory_Handling/vmalloc.h"
12 #ifndef _HISTOGRAM_H
13 #define _HISTOGRAM_H
15 typedef struct
16 {
17 char *name;
18 int32 startOfRange;
19 int32 endOfRange;
20 int32 numBins;
21 int32 binWidth;
22 int32 *bins;
23 }
24 Histogram;
26 typedef struct
27 {
28 float32 startOfRange;
29 float32 endOfRange;
30 int32 numBins;
31 float32 binWidth;
32 int32 *bins;
33 }
34 FloatHist;
36 typedef struct
37 {
38 float64 startOfRange;
39 float64 endOfRange;
40 int32 numBins;
41 float64 binWidth;
42 int32 *bins;
43 }
44 DblHist;
46 Histogram *
47 makeHistogram( int32 numBins, int32 startOfRange, int32 endOfRange );
49 Histogram *
50 makeFixedBinHist( int32 numBins, int32 startOfRange, int32 binWidth,
51 char *name );
53 Histogram *
54 makeFixedBinHistExt( int32 numBins, int32 startOfRange, int32 binWidth,
55 char *name );
57 void inline
58 addToHist( int32 value, Histogram *hist );
60 void inline
61 addIntervalToHist( uint32 startIntvl, uint32 endIntvl, Histogram *hist );
63 void inline
64 subIntervalFromHist( int32 startIntvl, int32 endIntvl, Histogram *hist );
66 void
67 saveHistToFile(Histogram *hist);
69 void
70 printHist( Histogram *hist );
72 FloatHist *
73 makeFloatHistogram( int numBins, float32 startOfRange, float32 binWidth );
75 void
76 addToFloatHist( float32 value, FloatHist *hist );
78 void
79 printFloatHist( FloatHist *hist );
81 void
82 freeHistExt( Histogram *hist );
84 void
85 freeHist( Histogram *hist );
87 DblHist *
88 makeDblHistogram( int numBins, float64 startOfRange, float64 binWidth );
90 void
91 addToDblHist( float64 value, DblHist *hist );
93 void
94 printDblHist( DblHist *hist );
96 void
97 freeDblHist( DblHist *hist );
99 #endif /* _HISTOGRAM_H */