MCPcopy Create free account
hub / github.com/FastLED/FastLED / calculate

Method calculate

tests/fl/hsv2rgb_accuracy.cpp:25–52  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

23 vector<float> deviations;
24
25 void calculate() {
26 if (deviations.empty()) {
27 average = median = max = min = 0.0f;
28 return;
29 }
30
31 // Sort for median calculation
32 sort(deviations.begin(), deviations.end());
33
34 // Calculate average
35 float sum = 0.0f;
36 for (size_t i = 0; i < deviations.size(); ++i) {
37 sum += deviations[i];
38 }
39 average = sum / deviations.size();
40
41 // Calculate median
42 size_t mid = deviations.size() / 2;
43 if (deviations.size() % 2 == 0) {
44 median = (deviations[mid - 1] + deviations[mid]) / 2.0f;
45 } else {
46 median = deviations[mid];
47 }
48
49 // Min and max
50 min = deviations.front();
51 max = deviations.back();
52 }
53
54 void print(const char* function_name) const {
55 FL_WARN(function_name << " Accuracy Statistics:");

Callers 1

testConversionFunctionFunction · 0.80

Calls 7

sortFunction · 0.85
emptyMethod · 0.45
beginMethod · 0.45
endMethod · 0.45
sizeMethod · 0.45
frontMethod · 0.45
backMethod · 0.45

Tested by

no test coverage detected