From 369b7bbc988c509d68d7d62a1c438f5a8caf3835 Mon Sep 17 00:00:00 2001 From: Marco Paland Date: Thu, 31 Jan 2019 19:16:30 +0100 Subject: fix(printf): remove float comparison Add more float test cases --- printf.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) (limited to 'printf.c') diff --git a/printf.c b/printf.c index e9d714a..ed2b3ba 100644 --- a/printf.c +++ b/printf.c @@ -363,11 +363,7 @@ static size_t _ftoa(out_fct_type out, char* buffer, size_t idx, size_t maxlen, d if (prec == 0U) { diff = value - (double)whole; - if (diff > 0.5) { - // greater than 0.5, round up, e.g. 1.6 -> 2 - ++whole; - } - else if ((diff == 0.5) && (whole & 1)) { + if ((!(diff < 0.5) || (diff > 0.5)) && (whole & 1)) { // exactly 0.5 and ODD, then round up // 1.5 -> 2, but 2.5 -> 2 ++whole; -- cgit v1.2.3