diff --git a/.github/workflows/soft_double.yml b/.github/workflows/soft_double.yml index 81435bd..225c661 100644 --- a/.github/workflows/soft_double.yml +++ b/.github/workflows/soft_double.yml @@ -23,7 +23,7 @@ jobs: compiler: [ g++-11, clang++ ] standard: [ c++14, c++17, c++20 ] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: '0' - name: update-tools @@ -50,7 +50,7 @@ jobs: runs-on: ubuntu-latest container: ${{matrix.container}} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: create build directory run: mkdir $GITHUB_WORKSPACE/build - name: build @@ -70,7 +70,7 @@ jobs: cmake-windows: runs-on: windows-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: create build directory run: mkdir ${{runner.workspace}}/build - name: build @@ -93,7 +93,7 @@ jobs: standard: [ c++20 ] compiler: [ g++, clang++ ] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: '0' - name: update-tools @@ -121,7 +121,7 @@ jobs: compiler: [ g++-12, clang++-14 ] standard: [ c++14, c++17, c++20 ] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: '0' - name: update-tools @@ -144,7 +144,7 @@ jobs: compiler: [ g++ ] standard: [ c++14, c++17, c++2a ] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: '0' - name: mingw-winhost-x64 @@ -165,7 +165,7 @@ jobs: compiler: [ g++-11, clang++ ] standard: [ c++14, c++17, c++20 ] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: '0' - name: update-tools @@ -188,7 +188,7 @@ jobs: compiler: [ g++-11, clang++ ] standard: [ c++14, c++17, c++20 ] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: '0' - name: update-tools @@ -211,7 +211,7 @@ jobs: compiler: [ g++, clang++ ] standard: [ c++14, c++17, c++20 ] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: '0' - name: apple-gcc-clang-native @@ -224,7 +224,7 @@ jobs: msvc-release-x64: runs-on: windows-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: ilammy/msvc-dev-cmd@v1 with: toolset: 14.2 @@ -238,10 +238,10 @@ jobs: msvc-release-x64-vs2022: runs-on: windows-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: '0' - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: ilammy/msvc-dev-cmd@v1 with: toolset: 14.3 @@ -262,7 +262,7 @@ jobs: matrix: standard: [ c++14 ] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: '0' - name: update-tools @@ -286,7 +286,7 @@ jobs: ls -la bin/example010_hypergeometric_2f1.elf bin/example010_hypergeometric_2f1.map bin/example010_hypergeometric_2f1.hex working-directory: ./ gcc-arm-none-eabi: - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest defaults: run: shell: bash @@ -295,7 +295,7 @@ jobs: matrix: standard: [ c++14, c++17, c++2a ] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: '0' - name: update-tools @@ -337,7 +337,7 @@ jobs: compiler: [ g++, clang++ ] suite: [ cyl_bessel_j ] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: '0' - name: clone-submods-bootstrap-headers-boost-develop diff --git a/.github/workflows/soft_double_codecov.yml b/.github/workflows/soft_double_codecov.yml index e6c343d..2ea0dfb 100644 --- a/.github/workflows/soft_double_codecov.yml +++ b/.github/workflows/soft_double_codecov.yml @@ -24,7 +24,7 @@ jobs: standard: [ c++14 ] compiler: [ g++ ] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: '0' - name: update-tools diff --git a/.github/workflows/soft_double_sonar.yml b/.github/workflows/soft_double_sonar.yml index 9f93161..2f6bbd1 100644 --- a/.github/workflows/soft_double_sonar.yml +++ b/.github/workflows/soft_double_sonar.yml @@ -21,7 +21,7 @@ jobs: SONAR_SERVER_URL: "https://sonarcloud.io" BUILD_WRAPPER_OUT_DIR: build_wrapper_output_directory # Directory where build-wrapper output will be placed steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Set up JDK 17 diff --git a/README.md b/README.md index d0e4b1e..21eaa5a 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ soft_double - +
@@ -165,7 +165,7 @@ how to use soft_double. - ![`example011_trig_trapezoid_integral.cpp`](./examples/example011_trig_trapezoid_integral.cpp) uses trapezoid integration with an integral representation involving locally-written trigonometric sine and cosine functions to compute several cylindrical Bessel function values. - ![`example012_exercise_constexpr.cpp`](./examples/example012_exercise_constexpr.cpp) verifies that C++20 `constexpr`-ness works properly for both rudimentary assignment-operation as well as an elementary square root function. -## C++14, 17, 20 `constexpr` support +## C++20 `constexpr` support When using C++20, `soft_double` supports compile-time `constexpr` construction and evaluation of results @@ -212,14 +212,13 @@ int main() } ``` -`constexpr`-_ness_ of `soft_double` has been checked on GCC 10 and up, clang 10 and up -(with `-std=c++20`) and VC 14.2 (with `/std:c++latest`), -also for various embedded compilers such as `avr-gcc` 10 and up, -`arm-non-eabi-gcc` 10 and up, and more. In addition, -less modern compiler versions in addition to some other compilers -having standards such as C++14, 17, 2a have also been checked -for `constexpr` usage of `soft_double`. If you have an older -compiler, you might have to check the compiler's +`constexpr`-ness of `soft_double` has been checked on GCC, clang +(with `-std=c++20` and beyond) and VC 14.2 and higher (with `/std:c++latest`), +also for various embedded compilers such as `avr-gcc` 11 and up, +`arm-non-eabi-gcc` 11 and up, and more. +In addition, less modern compiler versions have been sporadically +(not exhaustively) checked for `constexpr` usage of `soft_double`. +If you have an older compiler, you might have to check the compiler's ability to obtain the entire benefit of `constexpr` with `soft_double`. In [issue 110](https://github.com/ckormanyos/soft_double/issues/110), diff --git a/examples/example012_exercise_constexpr.cpp b/examples/example012_exercise_constexpr.cpp index 982250b..573a9a2 100644 --- a/examples/example012_exercise_constexpr.cpp +++ b/examples/example012_exercise_constexpr.cpp @@ -56,7 +56,7 @@ auto math::softfloat::example012_exercise_constexpr() -> bool #include