@@ -843,6 +843,15 @@ TEST_CASE("float", "[]" ) {
843843 PRINTING_CHECK (" 3.1415" , ==, sprintf_, buffer, " %.4f" , 3.1415354 );
844844 PRINTING_CHECK (" 30343.142" , ==, sprintf_, buffer, " %.3f" , 30343.1415354 );
845845
846+ PRINTING_CHECK (" 2.1474836470e+09" , ==, sprintf_, buffer, " %.10f" , 2147483647.0 ); // 2^31 - 1
847+ PRINTING_CHECK (" 2.1474836480e+09" , ==, sprintf_, buffer, " %.10f" , 2147483648.0 ); // 2^31
848+ PRINTING_CHECK (" 4.2949672950e+09" , ==, sprintf_, buffer, " %.10f" , 4294967295.0 ); // 2^32 - 1
849+ PRINTING_CHECK (" 4.2949672960e+09" , ==, sprintf_, buffer, " %.10f" , 4294967296.0 ); // 2^32
850+ PRINTING_CHECK (" 2147483647" , ==, sprintf_, buffer, " %.10g" , 2147483647.0 ); // 2^31 - 1
851+ PRINTING_CHECK (" 2147483648" , ==, sprintf_, buffer, " %.10g" , 2147483648.0 ); // 2^31
852+ PRINTING_CHECK (" 4294967295" , ==, sprintf_, buffer, " %.10g" , 4294967295.0 ); // 2^32 - 1
853+ PRINTING_CHECK (" 4294967296" , ==, sprintf_, buffer, " %.10g" , 4294967296.0 ); // 2^32
854+
846855 // switch from decimal to exponential representation
847856 //
848857 CAPTURE_AND_PRINT (sprintf_, buffer, " %.0f" , (double ) ((int64_t )1 * 1000 ) );
0 commit comments