29 lines
571 B
C
Raw Permalink Normal View History

2021-11-15 11:32:27 +01:00
#pragma once
#include <vector>
2022-02-28 21:15:48 +01:00
#include <math.h>
2021-11-15 11:32:27 +01:00
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;
}
};