From be65eb76fefee813fda483e436c5aeec27af2fa6 Mon Sep 17 00:00:00 2001 From: John Wellbelove Date: Tue, 16 Apr 2019 18:25:55 +0100 Subject: [PATCH] Merge remote-tracking branch 'origin/hotfix/cyclic_value_for_unsigned' into development # Conflicts: # include/etl/version.h --- include/etl/cyclic_value.h | 8 ------ include/etl/version.h | 2 +- test/test_cyclic_value.cpp | 56 ++++++++++++++++++++++---------------- 3 files changed, 34 insertions(+), 32 deletions(-) diff --git a/include/etl/cyclic_value.h b/include/etl/cyclic_value.h index e1fdd12d..3bb3bbe7 100644 --- a/include/etl/cyclic_value.h +++ b/include/etl/cyclic_value.h @@ -117,10 +117,6 @@ namespace etl //************************************************************************* void advance(int n) { - T range = LAST - FIRST + T(1); - - n = n % range; - if (n > 0) { for (int i = 0; i < n; ++i) @@ -394,10 +390,6 @@ namespace etl //************************************************************************* void advance(int n) { - T range = last_value - first_value + T(1); - - n = n % range; - if (n > 0) { for (int i = 0; i < n; ++i) diff --git a/include/etl/version.h b/include/etl/version.h index b59b7ac7..5eae462c 100644 --- a/include/etl/version.h +++ b/include/etl/version.h @@ -39,7 +39,7 @@ SOFTWARE. #define ETL_VERSION_MAJOR 14 #define ETL_VERSION_MINOR 18 -#define ETL_VERSION_PATCH 4 +#define ETL_VERSION_PATCH 5 #define ETL_VERSION ETL_STRINGIFY(ETL_VERSION_MAJOR) ETL_STRINGIFY(ETL_VERSION_MINOR) ETL_STRINGIFY(ETL_VERSION_PATCH) #define ETL_VERSION_W ETL_WIDE_STRING(ETL_CONCAT(ETL_CONCAT(ETL_VERSION_MAJOR, ETL_VERSION_MINOR), ETL_VERSION_PATCH)) diff --git a/test/test_cyclic_value.cpp b/test/test_cyclic_value.cpp index ce92742c..04220491 100644 --- a/test/test_cyclic_value.cpp +++ b/test/test_cyclic_value.cpp @@ -309,29 +309,6 @@ namespace CHECK_EQUAL(4, value); } - //************************************************************************* - TEST(test_advance_negative_compile_time) - { - etl::cyclic_value value; - - value.to_last(); - value.advance(-14); - - CHECK_EQUAL(5, value); - } - - //************************************************************************* - TEST(test_advance_negative_run_time) - { - etl::cyclic_value value; - - value.set(2, 7); - value.to_last(); - value.advance(-14); - - CHECK_EQUAL(5, value); - } - //************************************************************************* TEST(test_advance_negative_large_compile_time) { @@ -355,6 +332,39 @@ namespace CHECK_EQUAL(5, value); } + //************************************************************************* + TEST(test_advance_negative_unsigned_compile_time) + { + etl::cyclic_value value; + + value.advance(-2); + + CHECK_EQUAL(1U, value); + } + + //************************************************************************* + TEST(test_advance_negative_run_time) + { + etl::cyclic_value value; + + value.set(2, 7); + value.to_last(); + value.advance(-14); + + CHECK_EQUAL(5, value); + } + + //************************************************************************* + TEST(test_advance_negative_unsigned_run_time) + { + etl::cyclic_value value; + + value.set(0U, 2U); + value.advance(-2); + + CHECK_EQUAL(1U, value); + } + //************************************************************************* TEST(test_assignment_compile_time) {