From edf82c0bf6e382ecf2f799c1ab3c4adb6b9bec38 Mon Sep 17 00:00:00 2001 From: Alexandre Hiroyuki Date: Sat, 31 May 2025 02:37:19 -0300 Subject: [PATCH 1/3] style: :art: update --- .../moving_average_print.ino | 4 +- .../partials_example/partials_example.ino | 8 +- src/DataTome.h | 2 +- src/DataTomeAnalysis.h | 183 ++++++++---------- src/DataTomeCumulative.h | 13 +- src/DataTomeExpAvg.h | 15 +- src/DataTomeMvAvg.h | 50 +++-- src/DataTomeUtils.h | 11 +- .../DataTomeAnalysis.test.cpp | 42 ++-- .../DataTomeCumulative.test.cpp | 4 +- .../DataTomeExpAvg.test.cpp | 4 +- .../test_DataTomeMvAvg/DataTomeMvAvg.test.cpp | 26 +-- 12 files changed, 172 insertions(+), 190 deletions(-) diff --git a/examples/moving_average_print/moving_average_print.ino b/examples/moving_average_print/moving_average_print.ino index 54d0fdd..477f6d8 100644 --- a/examples/moving_average_print/moving_average_print.ino +++ b/examples/moving_average_print/moving_average_print.ino @@ -20,10 +20,10 @@ void loop() { // Generates the next input delta_x += 5; - if (delta_x > 1000) delta_x = 0; + if(delta_x > 1000) delta_x = 0; // Prints each value stored in the moving average - for (uint8_t i = 0; i < test.size(); i++) { + for(uint8_t i = 0; i < test.size(); i++) { Serial.print(test[i]); Serial.print(" "); } diff --git a/examples/partials_example/partials_example.ino b/examples/partials_example/partials_example.ino index 6369349..b5d0308 100644 --- a/examples/partials_example/partials_example.ino +++ b/examples/partials_example/partials_example.ino @@ -10,14 +10,14 @@ DataTomeMvAvg integer_mv(10); unsigned delta_x = 0; // These variables are the identification of the integer_mv partials -size_t integer_mv_partial_id = 0; +size_t integer_mv_partial_id = 0; size_t integer_mv_partial_id_2 = 0; void setup() { // Initialize serial interface Serial.begin(9600); - integer_mv_partial_id = integer_mv.partial_create(3); + integer_mv_partial_id = integer_mv.partial_create(3); integer_mv_partial_id_2 = integer_mv.partial_create(5); } @@ -27,10 +27,10 @@ void loop() { // Generates the next input delta_x += 5; - if (delta_x > 1000) delta_x = 0; + if(delta_x > 1000) delta_x = 0; // Prints each value stored in the moving average - for (uint8_t i = 0; i < integer_mv.size(); i++) { + for(uint8_t i = 0; i < integer_mv.size(); i++) { Serial.print(integer_mv[i]); Serial.print(" "); } diff --git a/src/DataTome.h b/src/DataTome.h index ff90e54..eac8daf 100644 --- a/src/DataTome.h +++ b/src/DataTome.h @@ -13,4 +13,4 @@ #include #include -#endif // DATA_TOME_H \ No newline at end of file +#endif // DATA_TOME_H \ No newline at end of file diff --git a/src/DataTomeAnalysis.h b/src/DataTomeAnalysis.h index c6aab36..c937633 100644 --- a/src/DataTomeAnalysis.h +++ b/src/DataTomeAnalysis.h @@ -14,13 +14,13 @@ template class DataTomeAnalysis : public DataTomeMvAvg { - public: +public: DataTomeAnalysis(size_t size) : DataTomeMvAvg(size) {} TypeOfArray minimum() { TypeOfArray result = (*this)[0]; - for (size_t i = 1; i < this->point_count(); i++) { - if ((*this)[i] < result) result = (*this)[i]; + for(size_t i = 1; i < this->point_count(); i++) { + if((*this)[i] < result) result = (*this)[i]; } return result; @@ -28,8 +28,8 @@ class DataTomeAnalysis : public DataTomeMvAvg { TypeOfArray maximum() { TypeOfArray result = (*this)[0]; - for (size_t i = 1; i < this->point_count(); i++) { - if ((*this)[i] > result) result = (*this)[i]; + for(size_t i = 1; i < this->point_count(); i++) { + if((*this)[i] > result) result = (*this)[i]; } return result; @@ -37,20 +37,17 @@ class DataTomeAnalysis : public DataTomeMvAvg { double median() { double calculated_median; - size_t current_size = this->point_count(), - m = current_size / 2; - TypeOfArray *temp_array = (TypeOfArray *)malloc(sizeof(TypeOfArray) * current_size); + size_t current_size = this->point_count(), m = current_size / 2; + TypeOfArray *temp_array = + (TypeOfArray *)malloc(sizeof(TypeOfArray) * current_size); memcpy(temp_array, this->_array, sizeof(TypeOfArray) * current_size); - if (current_size % 2 == 0) - { - size_t m1 = quickSelect(0, current_size - 1, m - 1, temp_array), - m2 = quickSelect(0, current_size - 1, m, temp_array); + if(current_size % 2 == 0) { + size_t m1 = quickSelect(0, current_size - 1, m - 1, temp_array), + m2 = quickSelect(0, current_size - 1, m, temp_array); calculated_median = (m1 + m2) / 2.0; - } - else - { + } else { calculated_median = quickSelect(0, current_size - 1, m, temp_array); } free(temp_array); @@ -70,20 +67,20 @@ class DataTomeAnalysis : public DataTomeMvAvg { size_t max_count = 0; TypeOfArray mode = temp[0]; - size_t count = 0; + size_t count = 0; TypeOfArray current_number = temp[0]; - for (size_t i = 0; i < current_size; i++) { - if (temp[i] == current_number) { + for(size_t i = 0; i < current_size; i++) { + if(temp[i] == current_number) { count++; } else { current_number = temp[i]; - count = 1; + count = 1; } - if (count > max_count) { + if(count > max_count) { max_count = count; - mode = current_number; + mode = current_number; } } @@ -105,20 +102,20 @@ class DataTomeAnalysis : public DataTomeMvAvg { size_t max_count = 0; TypeOfArray mode = temp[0]; - size_t count = 0; + size_t count = 0; TypeOfArray current_number = temp[0]; - for (size_t i = 0; i < current_size; i++) { - if (temp[i] == current_number) { + for(size_t i = 0; i < current_size; i++) { + if(temp[i] == current_number) { count++; } else { current_number = temp[i]; - count = 1; + count = 1; } - if (count >= max_count) { + if(count >= max_count) { max_count = count; - mode = current_number; + mode = current_number; } } @@ -131,7 +128,7 @@ class DataTomeAnalysis : public DataTomeMvAvg { TypeOfArray average = this->get(); TypeOfArray var = 0; - for (size_t i = 0; i < this->point_count(); i++) { + for(size_t i = 0; i < this->point_count(); i++) { TypeOfArray data_point = (*this)[i] - average; var += (data_point) * (data_point); } @@ -145,8 +142,8 @@ class DataTomeAnalysis : public DataTomeMvAvg { TypeOfArray partial_minimum(size_t partial_id) { TypeOfArray result = (*this)[0]; - for (size_t i = 1; i < this->partial_point_count(partial_id); i++) { - if ((*this)[i] < result) result = (*this)[i]; + for(size_t i = 1; i < this->partial_point_count(partial_id); i++) { + if((*this)[i] < result) result = (*this)[i]; } return result; @@ -154,27 +151,27 @@ class DataTomeAnalysis : public DataTomeMvAvg { TypeOfArray partial_maximum(size_t partial_id) { TypeOfArray result = (*this)[0]; - for (size_t i = 1; i < this->partial_point_count(partial_id); i++) { - if ((*this)[i] > result) result = (*this)[i]; + for(size_t i = 1; i < this->partial_point_count(partial_id); i++) { + if((*this)[i] > result) result = (*this)[i]; } return result; } TypeOfArray partial_median(size_t partial_id) { - TypeOfArray median = 0; + TypeOfArray median = 0; size_t current_size = this->partial_point_count(partial_id); TypeOfArray *temp = (typeof(temp))malloc(current_size * sizeof(typeof(temp))); - for (size_t i = 0; i < current_size; i++) { + for(size_t i = 0; i < current_size; i++) { temp[i] = (*this)[i]; } qsort(temp, current_size, sizeof(TypeOfArray), sort_ascend); - if (current_size % 2 == 0) { + if(current_size % 2 == 0) { median = (temp[current_size / 2 - 1] + temp[current_size / 2]) / 2; } else { median = temp[current_size / 2]; @@ -191,7 +188,7 @@ class DataTomeAnalysis : public DataTomeMvAvg { TypeOfArray *temp = (typeof(temp))malloc(current_size * sizeof(typeof(temp))); - for (size_t i = 0; i < current_size; i++) { + for(size_t i = 0; i < current_size; i++) { temp[i] = (*this)[i]; } @@ -200,20 +197,20 @@ class DataTomeAnalysis : public DataTomeMvAvg { size_t max_count = 0; TypeOfArray mode = temp[0]; - size_t count = 0; + size_t count = 0; TypeOfArray current_number = temp[0]; - for (size_t i = 0; i < current_size; i++) { - if (temp[i] == current_number) { + for(size_t i = 0; i < current_size; i++) { + if(temp[i] == current_number) { count++; } else { current_number = temp[i]; - count = 1; + count = 1; } - if (count > max_count) { + if(count > max_count) { max_count = count; - mode = current_number; + mode = current_number; } } @@ -228,7 +225,7 @@ class DataTomeAnalysis : public DataTomeMvAvg { TypeOfArray *temp = (typeof(temp))malloc(current_size * sizeof(typeof(temp))); - for (size_t i = 0; i < current_size; i++) { + for(size_t i = 0; i < current_size; i++) { temp[i] = (*this)[i]; } @@ -237,20 +234,20 @@ class DataTomeAnalysis : public DataTomeMvAvg { size_t max_count = 0; TypeOfArray mode = temp[0]; - size_t count = 0; + size_t count = 0; TypeOfArray current_number = temp[0]; - for (size_t i = 0; i < current_size; i++) { - if (temp[i] == current_number) { + for(size_t i = 0; i < current_size; i++) { + if(temp[i] == current_number) { count++; } else { current_number = temp[i]; - count = 1; + count = 1; } - if (count >= max_count) { + if(count >= max_count) { max_count = count; - mode = current_number; + mode = current_number; } } @@ -263,7 +260,7 @@ class DataTomeAnalysis : public DataTomeMvAvg { TypeOfArray average = this->partial_get(partial_id); TypeOfArray var = 0; - for (size_t i = 0; i < this->partial_point_count(partial_id); i++) { + for(size_t i = 0; i < this->partial_point_count(partial_id); i++) { TypeOfArray data_point = (*this)[i] - average; var += (data_point) * (data_point); } @@ -276,55 +273,45 @@ class DataTomeAnalysis : public DataTomeMvAvg { this->partial_point_count(partial_id)); } - private: - TypeOfArray medianOfMedians(int l, int r, TypeOfArray nums[]) { - int k = 5; - size_t size = r - l + 1, - medians_size = (size + k - 1) / k; - TypeOfArray medians[medians_size]; - for (int i = l, m_count = 0; i <= r; i += k, m_count++) - { - int left = i, right = dt_min(i + k, r + 1), - mid = left + (right - left) / 2; - qsort(nums + left, right - left, sizeof(TypeOfArray), sort_ascend); - medians[m_count] = (nums[mid]); - } - qsort(medians, medians_size, sizeof(TypeOfArray), sort_ascend); - return medians[medians_size / 2]; - }; - - TypeOfArray quickSelect(int l, int r, int m, TypeOfArray nums[]) { - int pivot = medianOfMedians(l, r, nums), - index = r, - p = l; - for (int i = l; i <= r; i++) - { - if (nums[i] == pivot) - { - index = i; - swap(nums[index], nums[r]); - break; - } - } - for (int i = l; i < r; i++) - { - if (nums[i] < nums[r]) - { - swap(nums[i], nums[p]); - p += 1; - } - } - swap(nums[p], nums[r]); - if (p > m) - { - return quickSelect(l, p - 1, m, nums); +private: + TypeOfArray medianOfMedians(int l, int r, TypeOfArray nums[]) { + int k = 5; + size_t size = r - l + 1, medians_size = (size + k - 1) / k; + TypeOfArray medians[medians_size]; + for(int i = l, m_count = 0; i <= r; i += k, m_count++) { + int left = i, right = dt_min(i + k, r + 1), + mid = left + (right - left) / 2; + qsort(nums + left, right - left, sizeof(TypeOfArray), + sort_ascend); + medians[m_count] = (nums[mid]); + } + qsort(medians, medians_size, sizeof(TypeOfArray), sort_ascend); + return medians[medians_size / 2]; + }; + + TypeOfArray quickSelect(int l, int r, int m, TypeOfArray nums[]) { + int pivot = medianOfMedians(l, r, nums), index = r, p = l; + for(int i = l; i <= r; i++) { + if(nums[i] == pivot) { + index = i; + swap(nums[index], nums[r]); + break; } - else if (p < m) - { - return quickSelect(p + 1, r, m, nums); + } + for(int i = l; i < r; i++) { + if(nums[i] < nums[r]) { + swap(nums[i], nums[p]); + p += 1; } - return nums[p]; - }; + } + swap(nums[p], nums[r]); + if(p > m) { + return quickSelect(l, p - 1, m, nums); + } else if(p < m) { + return quickSelect(p + 1, r, m, nums); + } + return nums[p]; + }; }; -#endif // DATA_TOME_ANALYSIS_H \ No newline at end of file +#endif // DATA_TOME_ANALYSIS_H \ No newline at end of file diff --git a/src/DataTomeCumulative.h b/src/DataTomeCumulative.h index 34958f3..b24fa00 100644 --- a/src/DataTomeCumulative.h +++ b/src/DataTomeCumulative.h @@ -11,19 +11,18 @@ // RECOMMENDED: use double type for TypeOfSum // WARNING: using this class with integer types may result in a loss of // precision due to cumulative rounding of integer divisions. -template -class DataTomeCumulative { - protected: +template class DataTomeCumulative { +protected: TypeOfSum _cumulative_average; unsigned long int _count; - public: +public: DataTomeCumulative() : _cumulative_average(0), _count(0) {} DataTomeCumulative &push(TypeOfSum input) { - if (_count >= ULONG_MAX) { + if(_count >= ULONG_MAX) { _cumulative_average = 0; - _count = 0; + _count = 0; } _count++; @@ -35,4 +34,4 @@ class DataTomeCumulative { TypeOfSum get() { return _cumulative_average; } }; -#endif // DATA_TOME_CUMULATIVE_H \ No newline at end of file +#endif // DATA_TOME_CUMULATIVE_H \ No newline at end of file diff --git a/src/DataTomeExpAvg.h b/src/DataTomeExpAvg.h index ca4b35d..8783324 100644 --- a/src/DataTomeExpAvg.h +++ b/src/DataTomeExpAvg.h @@ -11,13 +11,12 @@ // RECOMMENDED: use double type for TypeOfSum // WARNING: using this class with integer types may result in a loss of // precision due to cumulative rounding of integer divisions. -template -class DataTomeExpAvg { - protected: +template class DataTomeExpAvg { +protected: TypeOfSum _exp_avg; unsigned long int _count; - public: +public: DataTomeExpAvg() : _exp_avg(0), _count(0) {} // RECOMMENDED: use a simple average of the first elements of your data set as // initial_value @@ -25,14 +24,14 @@ class DataTomeExpAvg { : _exp_avg(initial_value), _count(0) {} DataTomeExpAvg &push(TypeOfSum input) { - if (_count >= ULONG_MAX) { + if(_count >= ULONG_MAX) { _exp_avg = 0; - _count = 0; + _count = 0; } _count++; TypeOfSum multiplier = 2 / (_count); - _exp_avg = (input * multiplier) + (_exp_avg * (1 - multiplier)); + _exp_avg = (input * multiplier) + (_exp_avg * (1 - multiplier)); return *this; } @@ -40,4 +39,4 @@ class DataTomeExpAvg { TypeOfSum get() { return _exp_avg; } }; -#endif // DATA_TOME_EXP_AVG_H +#endif // DATA_TOME_EXP_AVG_H diff --git a/src/DataTomeMvAvg.h b/src/DataTomeMvAvg.h index c817261..55ac25e 100644 --- a/src/DataTomeMvAvg.h +++ b/src/DataTomeMvAvg.h @@ -6,11 +6,11 @@ #define DATA_TOME_MV_AVG_H #include -#include // memset +#include // memset template class DataTomeMvAvg { - protected: +protected: size_t _array_size; size_t _current_index; size_t _average_counter; @@ -24,18 +24,15 @@ class DataTomeMvAvg { void _next_index() { _current_index++; - if (_current_index >= _array_size) _current_index = 0; + if(_current_index >= _array_size) _current_index = 0; } - public: +public: /** Constructor **/ DataTomeMvAvg(size_t size) - : _array_size(size), - _current_index(0), - _average_counter(0), + : _array_size(size), _current_index(0), _average_counter(0), _array((TypeOfArray *)calloc(size, sizeof(TypeOfArray))), - _average_sum(0), - _partial_sums_counter(0), + _average_sum(0), _partial_sums_counter(0), _partial_sums((TypeOfSum *)calloc(1, sizeof(TypeOfSum))), _partial_sum_sizes((size_t *)calloc(1, sizeof(size_t))) {} @@ -54,12 +51,12 @@ class DataTomeMvAvg { _average_sum += input; _array[_current_index] = input; - for (size_t i = 0; i < _partial_sums_counter; i++) { + for(size_t i = 0; i < _partial_sums_counter; i++) { _partial_sums[i] += input; _partial_sums[i] -= (*this)[_partial_sum_sizes[i] - 1]; } - if (_average_counter < _array_size) { + if(_average_counter < _array_size) { _average_counter++; } @@ -81,10 +78,10 @@ class DataTomeMvAvg { } TypeOfArray get_by_brute(size_t n_points) { - if (n_points > _average_counter) n_points = _average_counter; + if(n_points > _average_counter) n_points = _average_counter; int sum = 0; - for (size_t i = 0; i < n_points; i++) { + for(size_t i = 0; i < n_points; i++) { sum += (*this)[i]; } @@ -94,7 +91,7 @@ class DataTomeMvAvg { TypeOfArray front() { int last_index = _current_index; - if (last_index - 1 < 0) { + if(last_index - 1 < 0) { last_index = _array_size - 1; } else { last_index -= 1; @@ -104,7 +101,7 @@ class DataTomeMvAvg { } TypeOfArray back() { - if (_average_counter < _array_size) { + if(_average_counter < _array_size) { return _array[0]; } return _array[_current_index]; @@ -115,7 +112,7 @@ class DataTomeMvAvg { int check_index = _array_size + final_index; - if (final_index < 0) { + if(final_index < 0) { return _array[check_index]; } @@ -139,14 +136,15 @@ class DataTomeMvAvg { /** Modify array **/ DataTomeMvAvg &grow(size_t new_size) { - if (new_size <= _array_size) return *this; + if(new_size <= _array_size) return *this; _current_index = new_size - 1; _array = static_cast( realloc(_array, new_size * sizeof(TypeOfArray))); - for (size_t i = _array_size; i < new_size; i++) _array[i] = 0; + for(size_t i = _array_size; i < new_size; i++) + _array[i] = 0; _array_size = new_size; return *this; @@ -173,14 +171,14 @@ class DataTomeMvAvg { /** Partial Average methods **/ size_t partial_create(size_t sum_size) { - if (sum_size > _array_size) { + if(sum_size > _array_size) { sum_size = _array_size; } size_t _counter_initial_size = 1; _partial_sums_counter++; - if (_partial_sums_counter > _counter_initial_size) { + if(_partial_sums_counter > _counter_initial_size) { _partial_sums = static_cast( realloc(_partial_sums, _partial_sums_counter * sizeof(TypeOfSum))); _partial_sum_sizes = static_cast( @@ -189,7 +187,7 @@ class DataTomeMvAvg { _partial_sums[_partial_sums_counter - 1] = 0; - for (size_t i = 0; i < sum_size; i++) { + for(size_t i = 0; i < sum_size; i++) { _partial_sums[_partial_sums_counter - 1] += (*this)[i]; } @@ -199,9 +197,9 @@ class DataTomeMvAvg { } TypeOfArray partial_get(size_t id) { - if (id > _partial_sums_counter) return 0; + if(id > _partial_sums_counter) return 0; - if (_average_counter >= _partial_sum_sizes[id]) + if(_average_counter >= _partial_sum_sizes[id]) return _partial_sums[id] / _partial_sum_sizes[id]; else return _partial_sums[id] / @@ -213,7 +211,7 @@ class DataTomeMvAvg { } size_t partial_size_of_array(size_t id) { - if (id > _partial_sums_counter) return 0; + if(id > _partial_sums_counter) return 0; return _partial_sum_sizes[id]; } @@ -221,9 +219,9 @@ class DataTomeMvAvg { size_t partial_size(size_t id) { return partial_size_of_array(id); } size_t partial_point_count(size_t id) { - if (id > _partial_sums_counter) return 0; + if(id > _partial_sums_counter) return 0; - if (_average_counter >= _partial_sum_sizes[id]) + if(_average_counter >= _partial_sum_sizes[id]) return _partial_sum_sizes[id]; else return _average_counter; diff --git a/src/DataTomeUtils.h b/src/DataTomeUtils.h index 542675d..2fdeacd 100644 --- a/src/DataTomeUtils.h +++ b/src/DataTomeUtils.h @@ -11,18 +11,17 @@ int sort_ascend(const void *cmp1, const void *cmp2) { TypeOfArray b = *((TypeOfArray *)cmp2); TypeOfArray a = *((TypeOfArray *)cmp1); - if (a > b) + if(a > b) return 1; - else if (a < b) + else if(a < b) return -1; return 0; } -template -void swap(TypeOfArray &a, TypeOfArray &b) { +template void swap(TypeOfArray &a, TypeOfArray &b) { TypeOfArray temp = a; - a = b; - b = temp; + a = b; + b = temp; } template diff --git a/test/test_DataTomeAnalysis/DataTomeAnalysis.test.cpp b/test/test_DataTomeAnalysis/DataTomeAnalysis.test.cpp index 2afc7f9..83c3145 100644 --- a/test/test_DataTomeAnalysis/DataTomeAnalysis.test.cpp +++ b/test/test_DataTomeAnalysis/DataTomeAnalysis.test.cpp @@ -1,9 +1,9 @@ #include #include -void setUp(void) {} // before test +void setUp(void) {} // before test -void tearDown(void) {} // after test +void tearDown(void) {} // after test long int data[10] = {2, 4, 6, 8, 10, 12, 14, 16, 18, 20}; @@ -12,7 +12,7 @@ long int mode_data[10] = {1, 2, 3, 3, 3, 3, 4, 4, 4, 4}; void test_minAndMax(void) { DataTomeAnalysis testAnalysis(10); - for (size_t i = 0; i < 10; i++) { + for(size_t i = 0; i < 10; i++) { testAnalysis.push(data[i]); } @@ -23,7 +23,7 @@ void test_minAndMax(void) { void test_median(void) { DataTomeAnalysis testAnalysis(10); - for (size_t i = 0; i < 10; i++) { + for(size_t i = 0; i < 10; i++) { testAnalysis.push(data[i]); } @@ -33,7 +33,7 @@ void test_median(void) { void test_lowestMode(void) { DataTomeAnalysis testAnalysis(10); - for (size_t i = 0; i < 10; i++) { + for(size_t i = 0; i < 10; i++) { testAnalysis.push(mode_data[i]); } @@ -43,7 +43,7 @@ void test_lowestMode(void) { void test_highestMode(void) { DataTomeAnalysis testAnalysis(10); - for (size_t i = 0; i < 10; i++) { + for(size_t i = 0; i < 10; i++) { testAnalysis.push(mode_data[i]); } @@ -54,12 +54,12 @@ void test_getVarianceAndStandardDeviation(void) { DataTomeAnalysis testAnalysis(10); size_t data_count = 5; - for (size_t i = 0; i < data_count; i++) { + for(size_t i = 0; i < data_count; i++) { testAnalysis.push(data[i]); } long int mock_sum = 0; - for (size_t i = 0; i < data_count; i++) { + for(size_t i = 0; i < data_count; i++) { mock_sum += data[i]; } @@ -67,7 +67,7 @@ void test_getVarianceAndStandardDeviation(void) { TEST_ASSERT_EQUAL(mock_average, testAnalysis.get()); long int mock_var = 0; - for (size_t i = 0; i < data_count; i++) { + for(size_t i = 0; i < data_count; i++) { mock_var += (data[i] - mock_average) * (data[i] - mock_average); } @@ -79,11 +79,11 @@ void test_getVarianceAndStandardDeviation(void) { void test_partialMinAndMax(void) { DataTomeAnalysis testAnalysis(10); size_t partial_size = 3; - size_t data_count = 5; + size_t data_count = 5; size_t partial_id = testAnalysis.partial_create(partial_size); - for (size_t i = 0; i < data_count; i++) { + for(size_t i = 0; i < data_count; i++) { testAnalysis.push(data[i]); } @@ -94,11 +94,11 @@ void test_partialMinAndMax(void) { void test_partialMedian(void) { DataTomeAnalysis testAnalysis(10); size_t partial_size = 3; - size_t data_count = 5; + size_t data_count = 5; size_t partial_id = testAnalysis.partial_create(partial_size); - for (size_t i = 0; i < data_count; i++) { + for(size_t i = 0; i < data_count; i++) { testAnalysis.push(data[i]); } @@ -108,11 +108,11 @@ void test_partialMedian(void) { void test_partialLowestMode(void) { DataTomeAnalysis testAnalysis(10); size_t partial_size = 5; - size_t data_count = 5; + size_t data_count = 5; size_t partial_id = testAnalysis.partial_create(partial_size); - for (size_t i = 0; i < data_count; i++) { + for(size_t i = 0; i < data_count; i++) { testAnalysis.push(mode_data[i]); } @@ -122,11 +122,11 @@ void test_partialLowestMode(void) { void test_partialHighestMode(void) { DataTomeAnalysis testAnalysis(10); size_t partial_size = 5; - size_t data_count = 10; + size_t data_count = 10; size_t partial_id = testAnalysis.partial_create(partial_size); - for (size_t i = 0; i < data_count; i++) { + for(size_t i = 0; i < data_count; i++) { testAnalysis.push(mode_data[i]); } @@ -136,16 +136,16 @@ void test_partialHighestMode(void) { void test_partialVarianceAndStandardDeviation(void) { DataTomeAnalysis testAnalysis(10); size_t partial_size = 3; - size_t data_count = 5; + size_t data_count = 5; size_t partial_id = testAnalysis.partial_create(partial_size); - for (size_t i = 0; i < data_count; i++) { + for(size_t i = 0; i < data_count; i++) { testAnalysis.push(data[i]); } long int mock_sum = 0; - for (size_t i = data_count - 1; i > data_count - partial_size - 1; i--) { + for(size_t i = data_count - 1; i > data_count - partial_size - 1; i--) { mock_sum += data[i]; } @@ -153,7 +153,7 @@ void test_partialVarianceAndStandardDeviation(void) { TEST_ASSERT_EQUAL(mock_average, testAnalysis.partial_get(partial_id)); long int mock_var = 0; - for (size_t i = data_count - 1; i > data_count - partial_size - 1; i--) { + for(size_t i = data_count - 1; i > data_count - partial_size - 1; i--) { mock_var += (data[i] - mock_average) * (data[i] - mock_average); } diff --git a/test/test_DataTomeCumulative/DataTomeCumulative.test.cpp b/test/test_DataTomeCumulative/DataTomeCumulative.test.cpp index 728fccd..09f59f8 100644 --- a/test/test_DataTomeCumulative/DataTomeCumulative.test.cpp +++ b/test/test_DataTomeCumulative/DataTomeCumulative.test.cpp @@ -2,9 +2,9 @@ #include #include -void setUp(void) {} // before test +void setUp(void) {} // before test -void tearDown(void) {} // after test +void tearDown(void) {} // after test void test_getCumulativeAverage(void) { DataTomeCumulative testMV; diff --git a/test/test_DataTomeExpAvg/DataTomeExpAvg.test.cpp b/test/test_DataTomeExpAvg/DataTomeExpAvg.test.cpp index efb36f4..b441981 100644 --- a/test/test_DataTomeExpAvg/DataTomeExpAvg.test.cpp +++ b/test/test_DataTomeExpAvg/DataTomeExpAvg.test.cpp @@ -1,9 +1,9 @@ #include #include -void setUp(void) {} // before test +void setUp(void) {} // before test -void tearDown(void) {} // after test +void tearDown(void) {} // after test void test_getExpAverage(void) { DataTomeExpAvg testMV; diff --git a/test/test_DataTomeMvAvg/DataTomeMvAvg.test.cpp b/test/test_DataTomeMvAvg/DataTomeMvAvg.test.cpp index ddcc322..bc52b7a 100644 --- a/test/test_DataTomeMvAvg/DataTomeMvAvg.test.cpp +++ b/test/test_DataTomeMvAvg/DataTomeMvAvg.test.cpp @@ -16,7 +16,7 @@ void test_getAverage(void) { testMV.push(data[0]).push(data[1]).push(data[2]); - long int mock_average = (data[0] + data[1] + data[2]) / 3; + long int mock_average = (data[0] + data[1] + data[2]) / 3; long int mock_brute_average = (data[1] + data[2]) / 2; TEST_ASSERT_EQUAL(mock_average, testMV.get()); TEST_ASSERT_EQUAL(mock_brute_average, testMV.get_by_brute(2)); @@ -46,13 +46,13 @@ void test_getElementsByIndex(void) { void test_sizeGrowAndPointCount(void) { DataTomeMvAvg testMV(5); - size_t expected_size = 5; - size_t expected_memory_size = expected_size * sizeof(int); - size_t new_expected_size = 10; + size_t expected_size = 5; + size_t expected_memory_size = expected_size * sizeof(int); + size_t new_expected_size = 10; size_t new_expected_memory_size = new_expected_size * sizeof(int); long int expected_sum = 0; - for (size_t i = 0; i < expected_size + 1; i++) { + for(size_t i = 0; i < expected_size + 1; i++) { testMV.push(data[i]); expected_sum += data[i]; @@ -79,11 +79,11 @@ void test_sizeGrowAndPointCount(void) { void test_smallerGrow(void) { DataTomeMvAvg testMV(5); - size_t expected_size = 5; + size_t expected_size = 5; size_t expected_memory_size = expected_size * sizeof(int); - size_t new_unexpected_size = 3; + size_t new_unexpected_size = 3; - for (size_t i = 0; i < expected_size + 1; i++) { + for(size_t i = 0; i < expected_size + 1; i++) { testMV.push(data[i]); TEST_ASSERT_EQUAL((i < expected_size) ? i + 1 : expected_size, @@ -114,16 +114,16 @@ void test_clear(void) { void test_partialAverage(void) { DataTomeMvAvg testMV(10); size_t partial_size = 3; - size_t data_count = 5; + size_t data_count = 5; size_t partial_id = testMV.partial_create(partial_size); - for (size_t i = 0; i < data_count; i++) { + for(size_t i = 0; i < data_count; i++) { testMV.push(data[i]); } long int mock_sum = 0; - for (size_t i = data_count - 1; i > data_count - partial_size - 1; i--) { + for(size_t i = data_count - 1; i > data_count - partial_size - 1; i--) { mock_sum += data[i]; } @@ -133,11 +133,11 @@ void test_partialAverage(void) { void test_partialSizeAndPointCount(void) { DataTomeMvAvg testMV(10); size_t partial_size = 3; - size_t data_count = 5; + size_t data_count = 5; size_t partial_id = testMV.partial_create(partial_size); - for (size_t i = 0; i < data_count; i++) { + for(size_t i = 0; i < data_count; i++) { testMV.push(data[i]); TEST_ASSERT_EQUAL((i < partial_size) ? i + 1 : partial_size, testMV.partial_point_count(partial_id)); From e20d9438b1f0a4528792b9c3e9a233697b9b6701 Mon Sep 17 00:00:00 2001 From: Alexandre Hiroyuki Date: Sat, 31 May 2025 02:49:38 -0300 Subject: [PATCH 2/3] ci: fix --- .github/workflows/lint.yml | 2 +- .github/workflows/tests.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 895a17b..4dca856 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -39,6 +39,6 @@ jobs: no-lgtm: false step-summary: true file-annotations: true - tidy-review: false + tidy-review: true format-review: true thread-comments: 'update' diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index aabb249..79c99b9 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -1,6 +1,6 @@ name: PlatformIO Unit Tests -on: [push, pull_request, workflow_call] +on: [push] jobs: test: From 5308bfdf3e9c97ce57d2c2316d414f3a45980083 Mon Sep 17 00:00:00 2001 From: Alexandre Hiroyuki Date: Sat, 31 May 2025 02:54:20 -0300 Subject: [PATCH 3/3] ci: :fire: remove broken linter action --- .github/workflows/lint.yml | 44 -------------------------------------- 1 file changed, 44 deletions(-) delete mode 100644 .github/workflows/lint.yml diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml deleted file mode 100644 index 4dca856..0000000 --- a/.github/workflows/lint.yml +++ /dev/null @@ -1,44 +0,0 @@ -name: C++ Linter - -on: [pull_request] - -permissions: - contents: read - pull-requests: write - -jobs: - cpp-linter: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: actions/cache@v4 - with: - path: | - ~/.cache/pip - ~/.platformio/.cache - key: ${{ runner.os }}-pio - - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - name: Install PlatformIO Core - run: | - python -m pip install --upgrade pip - pip install platformio - - name: Build Compilation Database - run: platformio run -e esp32dev --target compiledb - - uses: cpp-linter/cpp-linter-action@main - id: linter - continue-on-error: true - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - style: 'file' - tidy-checks: '' - database: compile_commands.json - files-changed-only: true - no-lgtm: false - step-summary: true - file-annotations: true - tidy-review: true - format-review: true - thread-comments: 'update'