Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #ifndef STATIONARITY_H
00030 #define STATIONARITY_H
00031
00032 #include "QGpCoreToolsDLLExport.h"
00033
00034 namespace QGpCoreTools {
00035
00036 class QGPCORETOOLS_EXPORT Stationarity
00037 {
00038 public:
00039 Stationarity(int queueLength,double ratio=0.001);
00040 ~Stationarity();
00041
00042 void add(double newval);
00043 bool relativeAtEnd();
00044 bool absoluteAtEnd();
00045 int nextIndex() {if(_currentI==_queueLength-1) _currentI=-1; return ++_currentI;}
00046 int oldestIndex() {if(_currentI==_queueLength-1) return 0; return _currentI+1;}
00047 double mean() {return _mean;}
00048 double maxErr() {return _maxdelta;}
00049 double count() {return _count;}
00050 private:
00051 int _queueLength;
00052 double _mean;
00053 int _currentI;
00054 double * _values;
00055 int _count;
00056 int _imax;
00057 double _maxdelta;
00058 double _ratio;
00059 };
00060
00061 }
00062
00063 #endif // STATIONARITY_H