Ejemplo n.º 1
0
BasicStats::BasicStats(DVec &raw) {
  this->n = raw.size();
  double fcount = raw.size();
  DVec data(raw.begin(), raw.end());
  std::sort(data.begin(), data.end());
  this->min = data.front();
  this->max = data.back();
  this->median = data.at(data.size() / 2);

  double s = 0;
  for (decimal_t v : data)
    s += v;
  this->mean = s / fcount;

  s = 0;
  for (decimal_t v : data)
    s += ::pow(v - this->mean, 2);
  this->stdev = ::sqrt(s / fcount);
}