diff --git a/CMakeLists.txt b/CMakeLists.txt index 6db0004..721a29f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.9) -project(fast_float VERSION 3.4.0 LANGUAGES CXX) +project(fast_float VERSION 3.6.0 LANGUAGES CXX) option(FASTFLOAT_TEST "Enable tests" OFF) if(FASTFLOAT_TEST) enable_testing() diff --git a/include/fast_float/ascii_number.h b/include/fast_float/ascii_number.h index 3e6bb3e..1783bd4 100644 --- a/include/fast_float/ascii_number.h +++ b/include/fast_float/ascii_number.h @@ -106,10 +106,6 @@ parsed_number_string parse_number_string(const char *p, const char *pend, parse_ uint64_t i = 0; // an unsigned int avoids signed overflows (which are bad) - while ((std::distance(p, pend) >= 8) && is_made_of_eight_digits_fast(p)) { - i = i * 100000000 + parse_eight_digits_unrolled(p); // in rare cases, this will overflow, but that's ok - p += 8; - } while ((p != pend) && is_integer(*p)) { // a multiplication by 10 is cheaper than an arbitrary integer // multiplication