#include <config.h>
#include <functions/Mean.h>
#include <sarray/SArray.h>

using std::vector;

Mean::Mean ()
  : ScalarFunc ("mean", 1)
{
}

double
Mean::eval (vector <SArray const*> const &args) const
{
  double const *arg1 = args[0]->value ();
  long len = args[0]->length ();
  double svalue = 0;
  for (long i = 0; i < len; i++)
    {
      svalue += arg1[i];
    }
  svalue /= len;
  return svalue;
}

bool Mean::checkParameterDim (vector <SArray const*> const &args) const
{
  return true;
}


syntax highlighted by Code2HTML, v. 0.9.1