Add tests for scaled ULP distance between +/- FLT/DBL_MAX

This commit is contained in:
Martin Hořeňovský 2024-01-14 21:07:43 +01:00
parent a0ef2115f8
commit 7f931d6df4
No known key found for this signature in database
GPG Key ID: DE48307B8B0D381A
1 changed files with 6 additions and 0 deletions

View File

@ -123,6 +123,12 @@ TEST_CASE( "count_equidistant_floats",
CHECK( count_floats_with_scaled_ulp( 1., 1.5 ) == 1ull << 51 );
CHECK( count_floats_with_scaled_ulp( 1.25, 1.5 ) == 1ull << 50 );
CHECK( count_floats_with_scaled_ulp( 1.f, 1.5f ) == 1 << 22 );
CHECK( count_floats_with_scaled_ulp( -std::numeric_limits<float>::max(),
std::numeric_limits<float>::max() ) ==
33554430 ); // (1 << 25) - 2 due to not including infinities
CHECK( count_floats_with_scaled_ulp( -std::numeric_limits<double>::max(),
std::numeric_limits<double>::max() ) ==
18014398509481982 ); // (1 << 54) - 2 due to not including infinities
STATIC_REQUIRE( std::is_same<std::uint64_t,
decltype( count_floats_with_scaled_ulp(