diff --git a/.github/workflows/amalgamate-ubuntu24.yml b/.github/workflows/amalgamate-ubuntu24.yml index f92b093..90aef9e 100644 --- a/.github/workflows/amalgamate-ubuntu24.yml +++ b/.github/workflows/amalgamate-ubuntu24.yml @@ -1,4 +1,4 @@ -name: Amalgamate Ubuntu 20.04 CI (GCC 13æ) +name: Amalgamate Ubuntu 24.04 CI on: [push, pull_request] diff --git a/.github/workflows/emscripten.yml b/.github/workflows/emscripten.yml new file mode 100644 index 0000000..5f0418d --- /dev/null +++ b/.github/workflows/emscripten.yml @@ -0,0 +1,17 @@ +on: [push, pull_request] + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 + - uses: mymindstorm/setup-emsdk@6ab9eb1bda2574c4ddb79809fc9247783eaf9021 # v14 + - name: Verify + run: emcc -v + - name: Checkout + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v3.6.0 + - name: Configure + run: emcmake cmake -B build + - name: Build # We build but do not test + run: cmake --build build diff --git a/.github/workflows/ubuntu24-cxx20.yml b/.github/workflows/ubuntu24-cxx20.yml new file mode 100644 index 0000000..52dc989 --- /dev/null +++ b/.github/workflows/ubuntu24-cxx20.yml @@ -0,0 +1,19 @@ +name: Ubuntu 24.04 CI + +on: [push, pull_request] + +jobs: + ubuntu-build: + runs-on: ubuntu-24.04 + strategy: + fail-fast: false + steps: + - uses: actions/checkout@v4 + - name: Use cmake + run: | + mkdir build && + cd build && + cmake -DFASTFLOAT_CXX_STANDARD=20 -DFASTFLOAT_TEST=ON -DCMAKE_INSTALL_PREFIX:PATH=destination .. && + cmake --build . && + ctest --output-on-failure && + cmake --install . diff --git a/CMakeLists.txt b/CMakeLists.txt index fadc27b..a86dfc2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,6 @@ cmake_minimum_required(VERSION 3.14) + project(fast_float VERSION 8.0.2 LANGUAGES CXX) set(FASTFLOAT_CXX_STANDARD 11 CACHE STRING "the C++ standard to use for fastfloat") set(CMAKE_CXX_STANDARD ${FASTFLOAT_CXX_STANDARD}) diff --git a/README.md b/README.md index e12fc10..cf0d9f3 100644 --- a/README.md +++ b/README.md @@ -554,6 +554,7 @@ cmake --build build manager](https://conan.io/center/recipes/fast_float). * It is part of the [brew package manager](https://formulae.brew.sh/formula/fast_float). +* fast_float is available on [xmake](https://xmake.io) repository. * Some Linux distribution like Fedora include fast_float (e.g., as `fast_float-devel`). diff --git a/include/fast_float/ascii_number.h b/include/fast_float/ascii_number.h index 97f0681..5683cd4 100644 --- a/include/fast_float/ascii_number.h +++ b/include/fast_float/ascii_number.h @@ -441,7 +441,7 @@ parse_number_string(UC const *p, UC const *pend, if (digit_count > 19) { answer.too_many_digits = true; // Let us start again, this time, avoiding overflows. - // We don't need to check if is_integer, since we use the + // We don't need to call if is_integer, since we use the // pre-tokenized spans from above. i = 0; p = answer.integer.ptr; @@ -451,7 +451,7 @@ parse_number_string(UC const *p, UC const *pend, i = i * 10 + uint64_t(*p - UC('0')); ++p; } - if (i >= minimal_nineteen_digit_integer) { // We have a big integers + if (i >= minimal_nineteen_digit_integer) { // We have a big integer exponent = end_of_integer_part - p + exp_number; } else { // We have a value with a fractional component. p = answer.fraction.ptr; diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 3ffa8ff..36925f0 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -9,8 +9,7 @@ option(FASTFLOAT_SUPPLEMENTAL_TESTS "Run supplemental tests" ON) if (NOT SYSTEM_DOCTEST) FetchContent_Declare(doctest - GIT_REPOSITORY https://github.com/onqtam/doctest.git - GIT_TAG v2.4.12) + GIT_REPOSITORY https://github.com/lemire/doctest.git) else () find_package(doctest REQUIRED) endif()