Merge pull request #6718

85efc88c1 Fix overflow issue in epee:misc_utils::rolling_median_t and median(), with unit test (koe)
This commit is contained in:
Alexander Blair 2020-08-16 12:53:50 -07:00
commit 10ad0d7eb2
No known key found for this signature in database
GPG key ID: C64552D877C32479
3 changed files with 23 additions and 2 deletions

View file

@ -170,6 +170,17 @@ TEST(rolling_median, history_blind)
}
}
TEST(rolling_median, overflow)
{
epee::misc_utils::rolling_median_t<uint64_t> m(2);
uint64_t over_half = static_cast<uint64_t>(3) << static_cast<uint64_t>(62);
m.insert(over_half);
m.insert(over_half);
ASSERT_EQ((over_half + over_half) < over_half, true);
ASSERT_EQ(over_half, m.median());
}
TEST(rolling_median, size)
{
epee::misc_utils::rolling_median_t<uint64_t> m(10);