Merge remote-tracking branch 'origin/hotfix/cyclic_value_for_unsigned' into development

# Conflicts:
#	include/etl/version.h
This commit is contained in:
John Wellbelove 2019-04-16 18:25:55 +01:00
parent b926321da6
commit be65eb76fe
3 changed files with 34 additions and 32 deletions

View File

@ -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)

View File

@ -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))

View File

@ -309,29 +309,6 @@ namespace
CHECK_EQUAL(4, value);
}
//*************************************************************************
TEST(test_advance_negative_compile_time)
{
etl::cyclic_value<int, 2, 7> value;
value.to_last();
value.advance(-14);
CHECK_EQUAL(5, value);
}
//*************************************************************************
TEST(test_advance_negative_run_time)
{
etl::cyclic_value<int> 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<size_t, 0U, 2U> value;
value.advance(-2);
CHECK_EQUAL(1U, value);
}
//*************************************************************************
TEST(test_advance_negative_run_time)
{
etl::cyclic_value<int> 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<size_t> value;
value.set(0U, 2U);
value.advance(-2);
CHECK_EQUAL(1U, value);
}
//*************************************************************************
TEST(test_assignment_compile_time)
{