annotate prhistogram.h @ 20:f3cb11baf791

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