File indexing completed on 2024-05-12 05:26:27

0001 #include "utils.h"
0002 
0003 #include <QList>
0004 #include <math.h>
0005 
0006 double variance(const QList<double> &values)
0007 {
0008     //The variance of a single value is 0
0009     if (values.size() == 1) {
0010         return 0;
0011     }
0012     double mean = 0;
0013     for (auto value : values) {
0014         mean += value;
0015     }
0016     mean = mean / static_cast<double>(values.size());
0017     double variance = 0;
0018     for (auto value : values) {
0019         variance += pow(static_cast<double>(value) - mean, 2);
0020     }
0021     variance = variance / static_cast<double>(values.size() - 1);
0022     return variance;
0023 }
0024 
0025 double maxDifference(const QList<double> &values)
0026 {
0027     auto max = values.first();
0028     auto min = values.first();
0029     for (auto value : values) {
0030         if (value > max) {
0031             max = value;
0032         }
0033         if (value < min) {
0034             min = value;
0035         }
0036     }
0037     return max - min;
0038 }