diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fb0154b96..e02aa05a3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -139,12 +139,12 @@ jobs: run: ../../../b2 toolset=$TOOLSET ${{ matrix.suite }} define=CI_SUPPRESS_KNOWN_ISSUES define=SLOW_COMPILER define=BOOST_MATH_RUN_MP_TESTS working-directory: ../boost-root/libs/math/test ubuntu-focal-no-eh: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 strategy: fail-fast: false matrix: - compiler: [ g++-9, g++-11, clang++-10 ] - standard: [ c++14, c++17, c++2a ] + compiler: [ g++-13, clang++-19 ] + standard: [ c++14, c++17, c++20, c++23 ] steps: - uses: actions/checkout@v4 with: @@ -166,7 +166,7 @@ jobs: if: steps.retry1.outcome=='failure' run: sudo apt-add-repository -y "ppa:ubuntu-toolchain-r/test" - name: Install packages - run: sudo apt-get install -y g++-9 g++-11 clang-9 clang-10 libgmp-dev libmpfr-dev libfftw3-dev + run: sudo apt-get install -y g++-13 clang-19 libgmp-dev libmpfr-dev libfftw3-dev - name: Checkout main boost run: git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root - name: Update tools/boostdep @@ -408,11 +408,11 @@ jobs: - name: Test run: C:\\tools\\cygwin\\bin\\bash -l -c 'cd $(cygpath -u "$GITHUB_WORKSPACE")/../boost-root/libs/math/test && ../../../b2 toolset=$TOOLSET ${{ matrix.suite }} define=CI_SUPPRESS_KNOWN_ISSUES define=SLOW_COMPILER' standalone-compile-tests-gcc: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 strategy: fail-fast: false matrix: - compiler: [ g++-10 ] + compiler: [ g++-13 ] steps: - uses: actions/checkout@v4 with: @@ -432,7 +432,7 @@ jobs: if: steps.retry1.outcome=='failure' run: sudo apt-add-repository -y "ppa:ubuntu-toolchain-r/test" - name: Install packages - run: sudo apt-get install -y g++-10 libgmp-dev libmpfr-dev libfftw3-dev + run: sudo apt-get install -y g++-13 libgmp-dev libmpfr-dev libfftw3-dev - name: Checkout main boost run: git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root - name: Update tools/boostdep @@ -442,17 +442,17 @@ jobs: run: cp -r $GITHUB_WORKSPACE/* libs/math working-directory: ../boost-root - name: Run CMake - run: cmake -DBUILD_TESTING=1 -DCMAKE_CXX_COMPILER=g++-10 . + run: cmake -DBUILD_TESTING=1 -DCMAKE_CXX_COMPILER=g++-13 . working-directory: ../boost-root/libs/math - name: Run Compile Tests run: make -j$((`nproc`+1)) working-directory: ../boost-root/libs/math standalone-compile-tests-clang: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 strategy: fail-fast: false matrix: - compiler: [ clang++-10 ] + compiler: [ clang++-19 ] steps: - uses: actions/checkout@v4 with: @@ -472,7 +472,7 @@ jobs: if: steps.retry1.outcome=='failure' run: sudo apt-add-repository -y "ppa:ubuntu-toolchain-r/test" - name: Install packages - run: sudo apt-get install -y clang-10 libgmp-dev libmpfr-dev libfftw3-dev libtbb-dev + run: sudo apt-get install -y clang-19 libgmp-dev libmpfr-dev libfftw3-dev libtbb-dev - name: Checkout main boost run: git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root - name: Update tools/boostdep @@ -482,18 +482,18 @@ jobs: run: cp -r $GITHUB_WORKSPACE/* libs/math working-directory: ../boost-root - name: Run CMake - run: cmake -DBUILD_TESTING=1 -DCMAKE_CXX_COMPILER=clang++-10 . + run: cmake -DBUILD_TESTING=1 -DCMAKE_CXX_COMPILER=clang++-19 . working-directory: ../boost-root/libs/math - name: Run Compile Tests run: make -j$((`nproc`+1)) working-directory: ../boost-root/libs/math standalone-gcc: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 strategy: fail-fast: false matrix: - compiler: [ g++-10 ] - standard: [ c++14, c++17, c++20 ] + compiler: [ g++-13 ] + standard: [ c++14, c++17, c++20, c++23 ] suite: [ github_ci_block_1, github_ci_block_2 ] steps: - uses: actions/checkout@v4 @@ -516,7 +516,7 @@ jobs: if: steps.retry1.outcome=='failure' run: sudo apt-add-repository -y "ppa:ubuntu-toolchain-r/test" - name: Install packages - run: sudo apt-get install -y g++-10 libgmp-dev libmpfr-dev libfftw3-dev + run: sudo apt-get install -y g++-13 libgmp-dev libmpfr-dev libfftw3-dev - name: Checkout main boost run: git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root - name: Update tools/boostdep diff --git a/include/boost/math/tools/big_constant.hpp b/include/boost/math/tools/big_constant.hpp index 0d54976bc..8e731c090 100644 --- a/include/boost/math/tools/big_constant.hpp +++ b/include/boost/math/tools/big_constant.hpp @@ -80,11 +80,15 @@ inline constexpr T make_big_value(largest_float, const char* s, std::false_type // // For constants which might fit in a long double (if it's big enough): // +// Note that gcc-13 has std::is_convertible::value false, likewise +// std::is_constructible::value, even though the conversions do +// actually work. Workaround is the || std::is_floating_point::value part which thankfully is true. +// #define BOOST_MATH_BIG_CONSTANT(T, D, x)\ boost::math::tools::make_big_value(\ BOOST_MATH_LARGEST_FLOAT_C(x), \ BOOST_MATH_STRINGIZE(x), \ - std::integral_constant::value) && \ + std::integral_constant::value || std::is_floating_point::value) && \ ((D <= boost::math::tools::numeric_traits::digits) \ || std::is_floating_point::value \ || (boost::math::tools::numeric_traits::is_specialized && \ diff --git a/include/boost/math/tools/test_value.hpp b/include/boost/math/tools/test_value.hpp index 2cdc1a02a..c44fe0528 100644 --- a/include/boost/math/tools/test_value.hpp +++ b/include/boost/math/tools/test_value.hpp @@ -118,7 +118,7 @@ inline T create_test_value(largest_float, const char* str, const std::false_type std::numeric_limits::is_specialized &&\ (std::numeric_limits::radix == 2)\ && (std::numeric_limits::digits <= BOOST_MATH_TEST_LARGEST_FLOAT_DIGITS)\ - && std::is_convertible::value>(),\ + && (std::is_convertible::value || std::is_floating_point::value)>(),\ std::integral_constant::value>()\ ) diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index 4adb29d16..4d630fe9e 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -35,11 +35,6 @@ obj no_eh : noeh_support.cpp : /boost/config//boost_config ; project : requirements - /boost/math//boost_math - /boost/multiprecision//boost_multiprecision - /boost/test//included - /boost/type_index//boost_type_index - /boost/ublas//boost_ublas $(OBJ_REMOVAL_OPTIONS) acc:+W2068,2461,2236,4070,4069 intel-win:-nologo diff --git a/test/test_hermite.hpp b/test/test_hermite.hpp index 8f7c55ff1..821b39ee2 100644 --- a/test/test_hermite.hpp +++ b/test/test_hermite.hpp @@ -23,7 +23,7 @@ #include #include #include -#include +#include #include "functor.hpp" #include "handle_test_result.hpp"