summaryrefslogtreecommitdiffstats
path: root/tests/utils.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/utils.cpp')
-rw-r--r--tests/utils.cpp38
1 files changed, 38 insertions, 0 deletions
diff --git a/tests/utils.cpp b/tests/utils.cpp
new file mode 100644
index 0000000..dfaab17
--- /dev/null
+++ b/tests/utils.cpp
@@ -0,0 +1,38 @@
1#include "utils.h"
2
3#include <QList>
4#include <math.h>
5
6double variance(const QList<double> &values)
7{
8 //The variance of a single value is 0
9 if (values.size() == 1) {
10 return 0;
11 }
12 double mean = 0;
13 for (auto value : values) {
14 mean += value;
15 }
16 mean = mean / static_cast<double>(values.size());
17 double variance = 0;
18 for (auto value : values) {
19 variance += pow(static_cast<double>(value) - mean, 2);
20 }
21 variance = variance / static_cast<double>(values.size() - 1);
22 return variance;
23}
24
25double maxDifference(const QList<double> &values)
26{
27 auto max = values.first();
28 auto min = values.first();
29 for (auto value : values) {
30 if (value > max) {
31 max = value;
32 }
33 if (value < min) {
34 min = value;
35 }
36 }
37 return max - min;
38}