All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines
Public Member Functions
GpCoreTools::Average Class Reference

Brief description of class still missing. More...

#include <Average.h>

List of all members.

Public Member Functions

void add (double v)
 Average ()
int badValue (double factor=3.0) const
void calculate ()
int count () const
double mean () const
void remove (int i)
void reset ()
double stddev () const

Detailed Description

Brief description of class still missing.

Full description of class still missing


Constructor & Destructor Documentation

{
  _mean=0.0;
  _stddev=0.0;
}

Member Function Documentation

void GpCoreTools::Average::add ( double  v) [inline]
{_values.push_back(v);}
int GpCoreTools::Average::badValue ( double  factor = 3.0) const
{
  double stddev3=factor*_stddev;
  unsigned int n=_values.size();
  for(unsigned int i=0;i<n;i++) {
    if(fabs(_values[i]-_mean)>stddev3) {
      return i;
    }
  }
  return -1;
}

References QGpCoreTools::sqrt().

{
  unsigned int n=_values.size();
  // Get std deviation and discard any value outside three stddev
  double sum=0;
  double sum2=0;
  for(unsigned int i=0;i<n;i++) {
    double v=_values[i];
    sum+=v;
    sum2+=v*v;
  }
  _mean=sum/n;
  _stddev=(sum2-_mean*_mean*n)/(n-1);
  if(_stddev<0.0) _stddev=0.0;
  _stddev=sqrt(_stddev);
}
int GpCoreTools::Average::count ( ) const [inline]
{return _values.size();}
double GpCoreTools::Average::mean ( ) const [inline]
{return _mean;}
{
  unsigned int n=_values.size();
  _values[i]=_values[n-1];
  _values.resize(n-1);
}
void GpCoreTools::Average::reset ( ) [inline]

Referenced by LinkBuffer::bytesAvailable().

{_values.clear();}
double GpCoreTools::Average::stddev ( ) const [inline]
{return _stddev;}

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines