00001 /* histogram function for data array in memory */ 00002 00003 #if !defined(HISTOGRAM_H) 00004 #define HISTOGRAM_H 00005 00006 #define DEFAULT_BIN_COUNT 26 00007 /* ARBITRARY default choice of # of bins */ 00008 00009 struct histoResult { 00010 struct histoResult *next; /* might be a list of them */ 00011 float binSize; /* size of a bin */ 00012 unsigned binCount; /* number of bins */ 00013 unsigned count; /* number of values */ 00014 float binZero; /* bin 0 starts at this value */ 00015 unsigned *binCounts; /* array binCounts[binCount] */ 00016 float *pValues; /* array pValues[binCount] */ 00017 }; 00018 00019 void freeHistoGram(struct histoResult **histoResults); 00020 /* free the histoResults list */ 00021 00022 struct histoResult *histoGram(float *values, size_t N, float binSize, 00023 unsigned binCount, float minValue, float min, float max, 00024 struct histoResult *accumHisto); 00025 /* construct histogram of data in values[N] array. */ 00026 #endif
1.5.2