Dear users: Your feedback from building and using the library in a wide variety of environments is what allows me to make safer and more portable releases. Please email me or post an issue if you notice a bug or unexpected behavior.
Changes since v6.2.0:
Bug fixes
- #196 Some double-precision operations still remained - by mistake - even when
PRINTF_USE_DOUBLE_INTERNALLYwas false. Those are now gone. - #193 The
print_config.hfile - which had been only applied to the compile library code - can now be used with the headerprintf.h, and is installed for your usage convenience (as opposed to having to specify some individual preprocessor macros separately). Of course, you can forego its use, it is strictly optional. - #153 "Banker's rounding" logic was not exactly correct.
- #156 Now accounting for component roll-over effect on exponent when deciding whether to revert from exponent-mode (
1.23e04) to decimal-only-mode (12300). - #183 Now properly parsing negative values for precision (although, of course, such values are ignored eventually) rather than balking on them during parsing.
Build configuration
- #198
CMakeLists.txtfiles now specify a CMake compatibility range, rather than just a minimum version (and their minimum is now uniform). - #189 Now setting the VERSION and SOVERSION CMake variables (for the case of someone checking the shared library version after install, or installing multiple versions).
Other changes
- #195 The library is now complaint C90, rather than C99 code. Yes, it is a bit more cumbersome - but not by much (mostly - variables defined before their first use, and comments take a few more lines) - but the compatibility benefit with arcane platforms is worth it :-)
- #191 Support for use with PlatformIO via an appropriate JSON meta-data file.
Caveats
- Still failing to produce the correct output for
printf("%# 01.1g", 9.8)(this is bug #156). - Still no special handling for denormals.