From 7435d54e9751cf5469b7e8a4ad63990d08d9cdda Mon Sep 17 00:00:00 2001 From: Niels Lohmann Date: Mon, 2 Oct 2017 23:06:41 +0200 Subject: [PATCH] :hammer: clean up --- src/json.hpp | 23 ++++------------------- 1 file changed, 4 insertions(+), 19 deletions(-) diff --git a/src/json.hpp b/src/json.hpp index b15470b6..fee999e1 100644 --- a/src/json.hpp +++ b/src/json.hpp @@ -6663,17 +6663,16 @@ class serializer const bool is_negative = std::is_same::value and (x < 0); std::size_t i = 0; - // spare 1 byte for '\0' - while (x != 0 and i < number_buffer.size() - 1) + while (x != 0) { + // spare 1 byte for '\0' + assert(i < number_buffer.size() - 1); + const auto digit = std::labs(static_cast(x % 10)); number_buffer[i++] = static_cast('0' + digit); x /= 10; } - // make sure the number has been processed completely - assert(x == 0); - if (is_negative) { // make sure there is capacity for the '-' @@ -6702,20 +6701,6 @@ class serializer return; } - // special case for 0.0 and -0.0 - if (x == 0) - { - if (std::signbit(x)) - { - o->write_characters("-0.0", 4); - } - else - { - o->write_characters("0.0", 3); - } - return; - } - // get number of digits for a text -> float -> text round-trip static constexpr auto d = std::numeric_limits::digits10;