Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 16 additions & 16 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand All @@ -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
Expand Down Expand Up @@ -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:
Expand All @@ -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
Expand All @@ -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:
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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
Expand Down
6 changes: 5 additions & 1 deletion include/boost/math/tools/big_constant.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -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<long double, std::float64_t>::value false, likewise
// std::is_constructible<std::float64_t, long double>::value, even though the conversions do
// actually work. Workaround is the || std::is_floating_point<T>::value part which thankfully is true.
//
#define BOOST_MATH_BIG_CONSTANT(T, D, x)\
boost::math::tools::make_big_value<T>(\
BOOST_MATH_LARGEST_FLOAT_C(x), \
BOOST_MATH_STRINGIZE(x), \
std::integral_constant<bool, (std::is_convertible<boost::math::tools::largest_float, T>::value) && \
std::integral_constant<bool, (std::is_convertible<boost::math::tools::largest_float, T>::value || std::is_floating_point<T>::value) && \
((D <= boost::math::tools::numeric_traits<boost::math::tools::largest_float>::digits) \
|| std::is_floating_point<T>::value \
|| (boost::math::tools::numeric_traits<T>::is_specialized && \
Expand Down
2 changes: 1 addition & 1 deletion include/boost/math/tools/test_value.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ inline T create_test_value(largest_float, const char* str, const std::false_type
std::numeric_limits<T>::is_specialized &&\
(std::numeric_limits<T>::radix == 2)\
&& (std::numeric_limits<T>::digits <= BOOST_MATH_TEST_LARGEST_FLOAT_DIGITS)\
&& std::is_convertible<largest_float, T>::value>(),\
&& (std::is_convertible<largest_float, T>::value || std::is_floating_point<T>::value)>(),\
std::integral_constant<bool, \
std::is_constructible<T, const char*>::value>()\
)
Expand Down
5 changes: 0 additions & 5 deletions test/Jamfile.v2
Original file line number Diff line number Diff line change
Expand Up @@ -35,11 +35,6 @@ obj no_eh : noeh_support.cpp : <library>/boost/config//boost_config ;

project
: requirements
<library>/boost/math//boost_math
<library>/boost/multiprecision//boost_multiprecision
<library>/boost/test//included
<library>/boost/type_index//boost_type_index
<library>/boost/ublas//boost_ublas
$(OBJ_REMOVAL_OPTIONS)
<toolset>acc:<cxxflags>+W2068,2461,2236,4070,4069
<toolset>intel-win:<cxxflags>-nologo
Expand Down
2 changes: 1 addition & 1 deletion test/test_hermite.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
#include <boost/math/special_functions/math_fwd.hpp>
#include <boost/math/special_functions/hermite.hpp>
#include <boost/math/constants/constants.hpp>
#include <boost/array.hpp>
#include <array>
#include "functor.hpp"

#include "handle_test_result.hpp"
Expand Down