Me@1: /* Me@1: * Copyright 2010 OpenSourceStewardshipFoundation.org Me@1: * Licensed under GNU General Public License version 2 Me@1: * Me@1: * Author: seanhalle@yahoo.com Me@1: * Me@1: */ Me@1: Me@2: #include "../VMS_primitive_data_types.h" Me@1: Me@1: #ifndef _HISTOGRAM_H Me@1: #define _HISTOGRAM_H Me@1: Me@1: typedef struct Me@1: { Me@7: char *name; Me@7: int32 startOfRange; Me@7: int32 endOfRange; Me@7: int32 numBins; Me@7: int32 binWidth; Me@7: int32 *bins; Me@1: } Me@1: Histogram; Me@1: Me@2: typedef struct Me@2: { Me@2: float32 startOfRange; Me@2: float32 endOfRange; Me@7: int32 numBins; Me@2: float32 binWidth; Me@7: int32 *bins; Me@2: } Me@2: FloatHist; Me@2: Me@2: typedef struct Me@2: { Me@2: float64 startOfRange; Me@2: float64 endOfRange; Me@7: int32 numBins; Me@2: float64 binWidth; Me@7: int32 *bins; Me@2: } Me@2: DblHist; Me@2: Me@1: Histogram * SeanHalle@5: makeHistogram( int32 numBins, int32 startOfRange, int32 endOfRange ); Me@1: Me@7: Histogram * Me@7: makeFixedBinHist( int32 numBins, int32 startOfRange, int32 binWidth, Me@7: char *name ); Me@7: Me@7: Histogram * Me@7: makeFixedBinHistExt( int32 numBins, int32 startOfRange, int32 binWidth, Me@7: char *name ); Me@7: SeanHalle@5: void inline SeanHalle@5: addToHist( int32 value, Histogram *hist ); SeanHalle@5: SeanHalle@5: void inline SeanHalle@5: addIntervalToHist( int32 startIntvl, int32 endIntvl, Histogram *hist ); Me@1: Me@8: void inline Me@8: subIntervalFromHist( int32 startIntvl, int32 endIntvl, Histogram *hist ); Me@8: Me@1: void Me@1: printHist( Histogram *hist ); Me@1: Me@2: FloatHist * Me@2: makeFloatHistogram( int numBins, float32 startOfRange, float32 binWidth ); Me@2: Me@2: void Me@2: addToFloatHist( float32 value, FloatHist *hist ); Me@2: Me@2: void Me@2: printFloatHist( FloatHist *hist ); Me@2: Me@2: Me@2: DblHist * Me@2: makeDblHistogram( int numBins, float64 startOfRange, float64 binWidth ); Me@2: Me@2: void Me@2: addToDblHist( float64 value, DblHist *hist ); Me@2: Me@2: void Me@2: printDblHist( DblHist *hist ); Me@2: msach@9: void msach@9: freeDblHist( DblHist *hist ); msach@9: Me@1: #endif /* _HISTOGRAM_H */ Me@1: