提交 60b23dc8 编写于 作者: M mvandervoord

Stopped supported -0 as a float output because (a) it is non-portable, only...

Stopped supported -0 as a float output because (a) it is non-portable, only existing on some architectures and (b) relies on the undefined behavior of 1.0/0.0
上级 e1dca8fa
...@@ -429,7 +429,7 @@ void UnityPrintFloat(const UNITY_DOUBLE input_number) ...@@ -429,7 +429,7 @@ void UnityPrintFloat(const UNITY_DOUBLE input_number)
UNITY_DOUBLE number = input_number; UNITY_DOUBLE number = input_number;
/* print minus sign (including for negative zero) */ /* print minus sign (including for negative zero) */
if ((number < 0.0f) || ((number == 0.0f) && ((1.0f / number) < 0.0f))) if (number < 0.0f)
{ {
UNITY_OUTPUT_CHAR('-'); UNITY_OUTPUT_CHAR('-');
number = -number; number = -number;
......
...@@ -7722,7 +7722,7 @@ void testDoublePrinting(void) ...@@ -7722,7 +7722,7 @@ void testDoublePrinting(void)
TEST_ASSERT_EQUAL_PRINT_FLOATING("16.0000006", 16.0000006); TEST_ASSERT_EQUAL_PRINT_FLOATING("16.0000006", 16.0000006);
TEST_ASSERT_EQUAL_PRINT_FLOATING("999999999", 999999999.0); /*Last full print integer*/ TEST_ASSERT_EQUAL_PRINT_FLOATING("999999999", 999999999.0); /*Last full print integer*/
TEST_ASSERT_EQUAL_PRINT_FLOATING("-0", -0.0); TEST_ASSERT_EQUAL_PRINT_FLOATING("0", -0.0); /* -0 no supported on all targets */
TEST_ASSERT_EQUAL_PRINT_FLOATING("-4.99e-07", -0.000000499); TEST_ASSERT_EQUAL_PRINT_FLOATING("-4.99e-07", -0.000000499);
TEST_ASSERT_EQUAL_PRINT_FLOATING("-5.0000005e-07", -0.00000050000005); TEST_ASSERT_EQUAL_PRINT_FLOATING("-5.0000005e-07", -0.00000050000005);
TEST_ASSERT_EQUAL_PRINT_FLOATING("-0.100469499", -0.100469499); TEST_ASSERT_EQUAL_PRINT_FLOATING("-0.100469499", -0.100469499);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册