Eule/_TestingUtilities/Testutil.h

28 lines
553 B
C
Raw Normal View History

2021-11-15 11:32:27 +01:00
#pragma once
#include <vector>
class Testutil
{
public:
template <typename T>
static double Stddev(const std::vector<T>& distribution)
{
// Calculate mean
double sum = 0;
for (const T& i : distribution)
sum += i;
const double mean = sum / distribution.size();
// Calculate variance
sum = 0;
for (const T& i : distribution)
sum += (i - mean) * (i - mean);
const double variance = sum / (distribution.size() - 1);
// Calcuate stddev
const double stddev = sqrt(variance);
return stddev;
}
};