00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef QUANTISE_H
00025 #define QUANTISE_H
00026
00046 class Quantise {
00047 public:
00048
00050 Quantise(int levels, float lower, float upper);
00051
00053 Quantise(void);
00054 virtual ~Quantise(void);
00055
00057 void calculateBounds(int levels, float lower, float upper);
00058
00060 virtual int convertToInt(float value);
00061
00063 virtual float convertToFloat(int value);
00064
00066 void buildLookUpTable(void);
00067
00069 float useLookUpTable(int value);
00070
00072 float lowerBound(void);
00073
00075 float upperBound(void);
00076
00078 int levels(void);
00079
00080 private:
00081 int _levels;
00082 float _lower;
00083 float _upper;
00084
00085 float _factor;
00086 float _logLower;
00087
00088 float *_quantiseTable;
00089 };
00090
00091 #endif