Mercurial > cgi-bin > hgwebdir.cgi > VMS > C_Libraries > Histogram
changeset 5:13b8591dd045
added addInterval -- is old version, have to merge with VMS__malloc version
author | SeanHalle |
---|---|
date | Thu, 11 Nov 2010 05:37:07 -0800 |
parents | dbb58ebfd690 |
children | a2388fae93ff |
files | Histogram.c Histogram.h |
diffstat | 2 files changed, 24 insertions(+), 10 deletions(-) [+] |
line diff
1.1 --- a/Histogram.c Sat Sep 11 04:46:29 2010 -0700 1.2 +++ b/Histogram.c Thu Nov 11 05:37:07 2010 -0800 1.3 @@ -23,13 +23,13 @@ 1.4 1.5 1.6 Histogram * 1.7 -makeHistogram( int numBins, int startOfRange, int endOfRange ) 1.8 +makeHistogram( int32 numBins, int32 startOfRange, int32 endOfRange ) 1.9 { 1.10 Histogram *hist; 1.11 - int i; 1.12 + int32 i; 1.13 1.14 hist = malloc( sizeof(Histogram) ); 1.15 - hist->bins = malloc( numBins * sizeof(int) ); 1.16 + hist->bins = malloc( numBins * sizeof(int32) ); 1.17 1.18 hist->numBins = numBins; 1.19 hist->binWidth = (endOfRange - startOfRange) / numBins; 1.20 @@ -44,10 +44,10 @@ 1.21 return hist; 1.22 } 1.23 1.24 -void 1.25 -addToHist( int value, Histogram *hist ) 1.26 +void inline 1.27 +addToHist( int32 value, Histogram *hist ) 1.28 { 1.29 - int binIdx; 1.30 + int32 binIdx; 1.31 1.32 if( value < hist->startOfRange ) 1.33 { binIdx = 0; 1.34 @@ -63,10 +63,21 @@ 1.35 hist->bins[ binIdx ] += 1; 1.36 } 1.37 1.38 + 1.39 +void inline 1.40 +addIntervalToHist( int32 startIntvl, int32 endIntvl, Histogram *hist ) 1.41 + { 1.42 + int32 value; 1.43 + 1.44 + value = endIntvl - startIntvl; 1.45 + if( value < 0 || value > 10000000 ) return; //sanity check 1.46 + addToHist( value, hist ); 1.47 + } 1.48 + 1.49 void 1.50 printHist( Histogram *hist ) 1.51 { 1.52 - int binIdx, i, numBars, maxHeight, barValue, binStart, binEnd; 1.53 + int32 binIdx, i, numBars, maxHeight, barValue, binStart, binEnd; 1.54 1.55 maxHeight = 0; 1.56 for( i = 0; i < hist->numBins; i++ )
2.1 --- a/Histogram.h Sat Sep 11 04:46:29 2010 -0700 2.2 +++ b/Histogram.h Thu Nov 11 05:37:07 2010 -0800 2.3 @@ -21,10 +21,13 @@ 2.4 Histogram; 2.5 2.6 Histogram * 2.7 -makeHistogram( int numBins, int startOfRange, int endOfRange ); 2.8 +makeHistogram( int32 numBins, int32 startOfRange, int32 endOfRange ); 2.9 2.10 -void 2.11 -addToHist( int value, Histogram *hist ); 2.12 +void inline 2.13 +addToHist( int32 value, Histogram *hist ); 2.14 + 2.15 +void inline 2.16 +addIntervalToHist( int32 startIntvl, int32 endIntvl, Histogram *hist ); 2.17 2.18 void 2.19 printHist( Histogram *hist );