Fixed failing is_finite tests on the latest clang

Signed-off-by: Alexander Borsuk <me@alex.bio>
This commit is contained in:
Alexander Borsuk
2025-06-20 04:11:56 +02:00
committed by Konstantin Pastbin
parent 8fe788c98d
commit 82133c5743
11 changed files with 97 additions and 74 deletions

View File

@@ -172,3 +172,22 @@ UNIT_TEST(Sign)
TEST_EQUAL(-1, base::Sign(-11), ());
TEST_EQUAL(-1, base::Sign(-10.4), ());
}
UNIT_TEST(is_finite)
{
static_assert(std::numeric_limits<double>::has_infinity);
static_assert(std::numeric_limits<double>::has_quiet_NaN);
using math::is_finite, math::Nan, math::Infinity;
TEST(!is_finite(Nan()), ());
TEST(!is_finite(Infinity()), ());
TEST(!is_finite(DBL_MAX*2.0), ());
TEST(is_finite(0.0), ());
TEST(is_finite(1.0), ());
TEST(is_finite(-2.0), ());
TEST(is_finite(DBL_MIN), ());
TEST(is_finite(DBL_MAX), ());
TEST(is_finite(DBL_MIN/2.0), ("As in cppreference example"));
}

View File

@@ -131,22 +131,6 @@ UNIT_TEST(EqualNoCase)
TEST(strings::EqualNoCase("HaHaHa", "hahaha"), ());
}
UNIT_TEST(is_finite)
{
using namespace strings;
TEST(!is_finite(NAN), ());
TEST(!is_finite(INFINITY), ());
//TEST(!is_finite(DBL_MIN/2.0), ());
TEST(!is_finite(DBL_MAX*2.0), ());
TEST(is_finite(0.0), ());
TEST(is_finite(1.0), ());
TEST(is_finite(-2.0), ());
TEST(is_finite(DBL_MIN), ());
TEST(is_finite(DBL_MAX), ());
}
UNIT_TEST(to_double)
{
std::string s;