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 }