@@ -1167,6 +1167,9 @@ TEST_CASE("double.general") {
11671167 // DBL_TRUE_MIN / 2 + 0.0000000000000001e-324
11681168 verify (" 2.4703282292062328e-324" , 0x0 .0000000000001p-1022 );
11691169
1170+ verify (" 0.2470328229206232720e-323" , 0.0 , std::errc::result_out_of_range);
1171+ verify (" 0.2470328229206232721e-323" , 0x0 .0000000000001p-1022 );
1172+
11701173 verify (" -2.2222222222223e-322" , -0x1 .68p-1069 );
11711174 verify (" 9007199254740993.0" , 0x1p+53 );
11721175 verify (" 860228122.6654514319E+90" , 0x1 .92bb20990715fp+328 );
@@ -1262,8 +1265,14 @@ TEST_CASE("double.general") {
12621265 verify (" 4.9406564584124654e-324" , 0x0 .0000000000001p-1022 );
12631266 verify (" 2.2250738585072009e-308" , 0x0 .fffffffffffffp -1022 );
12641267 verify (" 2.2250738585072014e-308" , 0x1p-1022 );
1268+ verify (" 0.2225073858507201136e-307" , 0x0 .fffffffffffffp -1022 );
1269+ verify (" 0.2225073858507201137e-307" , 0x1p-1022 );
12651270 verify (" 1.7976931348623157e308" , 0x1 .fffffffffffffp +1023 );
12661271 verify (" 1.7976931348623158e308" , 0x1 .fffffffffffffp +1023 );
1272+ verify (" 1.7976931348623158079e308" , std::numeric_limits<double >::max ());
1273+ verify (" 1.7976931348623158080e308" ,
1274+ std::numeric_limits<double >::infinity (),
1275+ std::errc::result_out_of_range);
12671276 verify (" 4503599627370496.5" , 4503599627370496.5 );
12681277 verify (" 4503599627475352.5" , 4503599627475352.5 );
12691278 verify (" 4503599627475353.5" , 4503599627475353.5 );
@@ -1543,6 +1552,8 @@ TEST_CASE("float.general") {
15431552 verify (" 0.7006492e-45" , 0 .f , std::errc::result_out_of_range);
15441553 // FLT_TRUE_MIN / 2 + 0.0000001e-45
15451554 verify (" 0.7006493e-45" , 0x1p-149f );
1555+ verify (" 0.7006492321624085354e-45" , 0 .f , std::errc::result_out_of_range);
1556+ verify (" 0.7006492321624085355e-45" , 0x1p-149f );
15461557
15471558 // max
15481559 verify (" 340282346638528859811704183484516925440" , 0x1 .fffffep +127f );
@@ -1553,6 +1564,10 @@ TEST_CASE("float.general") {
15531564 // that rounds to FLT_MAX
15541565 verify (" 340282356779733661637539395458142568447" ,
15551566 std::numeric_limits<float >::max ());
1567+ verify (" 0.3402823567797336616e39" , std::numeric_limits<float >::max ());
1568+ verify (" 0.3402823567797336617e39" ,
1569+ std::numeric_limits<float >::infinity (),
1570+ std::errc::result_out_of_range);
15561571
15571572 verify (" -1e-999" , -0 .0f , std::errc::result_out_of_range);
15581573 verify (" 1."
@@ -1563,6 +1578,8 @@ TEST_CASE("float.general") {
15631578 " 175494140627517859246175898662808184331245864732796240031385942718174"
15641579 " 6759860647699724722770042717456817626953125e-38" ,
15651580 0x1 .fffff8p -127f );
1581+ verify (" 1.1754942807573642917e-38" , 0x1 .fffff8p -127f );
1582+ verify (" 1.1754942807573642918e-38" , std::numeric_limits<float >::min ());
15661583 verify_runtime (
15671584 append_zeros (" 1."
15681585 " 17549414062751785924617589866280818433124586473279624003138"
0 commit comments