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