The existing implementation was not very good:
- It printed all very small values as "0.000000..."
- It did not distinguish positive and negative zero
- In some cases it printed extra garbage digits for single-precision values
(e.g. 3.9e+30 was printed as 3.90000013+30)
Tests have been updated to check that we now match printf("%.6g") for
1,000,000 randomly chosen values, except for rounding of the 6th digit.
The user can specify UNITY_OUTPUT_CHAR_HEADER_DECLARATION and
UNITY_OUTPUT_FLUSH_HEADER_DECLARATION when he would like to declare
UNITY_OUTPUT_CHAT or UNITY_OUTPUT_FLUSH respectivly
Fixed copy-paste error for:
- UNITY_TEST_ASSERT_EACH_EQUAL_INT64
- UNITY_TEST_ASSERT_EACH_EQUAL_UINT64
- UNITY_TEST_ASSERT_EACH_EQUAL_HEX64
So that the comparison is done on the expected _value_ instead of the _array_.
This fixes a compiler warning about a lossy conversion from long
unsigned int to int when compiling unity with gcc 6.3.1 and
the options -std=c89 -Wconversion -fsanitize=undefined
This fixes compiler warnings that clang produces with the
-Wdouble-promotion compiler option.
This only happens if double precision floating point numbers are
enabled.
The implicit double promotion occurs because numbers of type UNITY_FLOAT
are passed into UnityPrintFloat, which expects const UNITY_DOUBLE.
This commit fixes it by explicitly casting to UNITY_DOUBLE.
There was a mismatch of definition and declaration of UnityPrintFloat
and this commit aligns both on const UNITY_DOUBLE, but then inside it
actually uses a positive version of the variable only.
Used clang-format, which produces noise on stuff you don't care about
and requires setting it up to match the existing code base. Kept the
potentially useful changes, discarded the rest, some manual tweaking
required. It did catch lots of pesky indentation mistakes.
With a wider integer width than a pointer, gcc can still warn
when you cast a pointer. Strange but true. To see these warnings
compile with gcc -m32, 32-bit target, and enable UNITY_SUPPORT_64
Using this option changes the control flow of Unity, but is useful on
constrained embedded systems. You can't fully simulate the power of
'longjmp' with just 'return', but Unity still works well, all tests pass.
Originated from commit c6dc96f3 but are rarely used and not in math.h
Removes float to double promotion warning and simplifies the code
'gcc -std=gnu99 -Wdouble-promotion' spits out these warnings