annotate prhistogram.h @ 4:10986666560d

Changes on copy on D:
author Sean Halle <seanhalle@yahoo.com>
date Sun, 15 Sep 2013 07:18:46 -0700
parents
children 14241f07f742
rev   line source
seanhalle@0 1 /*
seanhalle@0 2 * Copyright 2010 OpenSourceResearchInstitute.org
seanhalle@0 3 * Licensed under GNU General Public License version 2
seanhalle@0 4 *
seanhalle@0 5 * Author: seanhalle@yahoo.com
seanhalle@0 6 *
seanhalle@0 7 */
seanhalle@0 8
seanhalle@0 9
seanhalle@0 10 #ifndef _PRHISTOGRAM_H
seanhalle@0 11 #define _PRHISTOGRAM_H
seanhalle@0 12
seanhalle@0 13 #include <PR__include/prmalloc.h>
seanhalle@0 14 #include <PR__include/PR__primitive_data_types.h>
seanhalle@0 15
seanhalle@0 16
seanhalle@0 17 typedef struct
seanhalle@0 18 {
seanhalle@0 19 char *name;
seanhalle@0 20 int32 startOfRange;
seanhalle@0 21 int32 endOfRange;
seanhalle@0 22 int32 numBins;
seanhalle@0 23 int32 binWidth;
seanhalle@0 24 int32 *bins;
seanhalle@0 25 }
seanhalle@0 26 Histogram;
seanhalle@0 27
seanhalle@0 28 typedef struct
seanhalle@0 29 {
seanhalle@0 30 float32 startOfRange;
seanhalle@0 31 float32 endOfRange;
seanhalle@0 32 int32 numBins;
seanhalle@0 33 float32 binWidth;
seanhalle@0 34 int32 *bins;
seanhalle@0 35 }
seanhalle@0 36 FloatHist;
seanhalle@0 37
seanhalle@0 38 typedef struct
seanhalle@0 39 {
seanhalle@0 40 float64 startOfRange;
seanhalle@0 41 float64 endOfRange;
seanhalle@0 42 int32 numBins;
seanhalle@0 43 float64 binWidth;
seanhalle@0 44 int32 *bins;
seanhalle@0 45 }
seanhalle@0 46 DblHist;
seanhalle@0 47
seanhalle@0 48 Histogram *
seanhalle@0 49 makeHistogram( int32 numBins, int32 startOfRange, int32 endOfRange );
seanhalle@0 50
seanhalle@0 51 Histogram *
seanhalle@0 52 makeFixedBinHist( int32 numBins, int32 startOfRange, int32 binWidth,
seanhalle@0 53 char *name );
seanhalle@0 54
seanhalle@0 55 Histogram *
seanhalle@0 56 makeFixedBinHistExt( int32 numBins, int32 startOfRange, int32 binWidth,
seanhalle@0 57 char *name );
seanhalle@0 58
seanhalle@0 59 void inline
seanhalle@0 60 addToHist( int32 value, Histogram *hist );
seanhalle@0 61
seanhalle@0 62 void inline
seanhalle@0 63 addIntervalToHist( uint32 startIntvl, uint32 endIntvl, Histogram *hist );
seanhalle@0 64
seanhalle@0 65 void inline
seanhalle@0 66 subIntervalFromHist( int32 startIntvl, int32 endIntvl, Histogram *hist );
seanhalle@0 67
seanhalle@0 68 void
seanhalle@0 69 saveHistToFile(Histogram *hist);
seanhalle@0 70
seanhalle@0 71 void
seanhalle@0 72 printHist( Histogram *hist );
seanhalle@0 73
seanhalle@0 74 FloatHist *
seanhalle@0 75 makeFloatHistogram( int numBins, float32 startOfRange, float32 binWidth );
seanhalle@0 76
seanhalle@0 77 void
seanhalle@0 78 addToFloatHist( float32 value, FloatHist *hist );
seanhalle@0 79
seanhalle@0 80 void
seanhalle@0 81 printFloatHist( FloatHist *hist );
seanhalle@0 82
seanhalle@0 83 void
seanhalle@0 84 freeHistExt( Histogram *hist );
seanhalle@0 85
seanhalle@0 86 void
seanhalle@0 87 freeHist( Histogram *hist );
seanhalle@0 88
seanhalle@0 89 DblHist *
seanhalle@0 90 makeDblHistogram( int numBins, float64 startOfRange, float64 binWidth );
seanhalle@0 91
seanhalle@0 92 void
seanhalle@0 93 addToDblHist( float64 value, DblHist *hist );
seanhalle@0 94
seanhalle@0 95 void
seanhalle@0 96 printDblHist( DblHist *hist );
seanhalle@0 97
seanhalle@0 98 void
seanhalle@0 99 freeDblHist( DblHist *hist );
seanhalle@0 100
seanhalle@0 101 #endif /* _HISTOGRAM_H */
seanhalle@0 102