提交 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,14 +429,14 @@ void UnityPrintFloat(const UNITY_DOUBLE input_number)
UNITY_DOUBLE number = input_number;
/* 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('-');
number = -number;
}
/* handle zero, NaN, and +/- infinity */
if (number == 0.0f)
if (number == 0.0f)
{
UnityPrint("0");
}
......
......@@ -7722,7 +7722,7 @@ void testDoublePrinting(void)
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("-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("-5.0000005e-07", -0.00000050000005);
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.
先完成此消息的编辑!
想要评论请 注册