2
0
mirror of https://github.com/boostorg/math.git synced 2026-01-19 04:22:09 +00:00

Disable MP tests unless specifically activated

This commit is contained in:
Matt Borland
2023-03-06 09:22:38 -08:00
parent 49df0cc017
commit 0b448cfd1e
6 changed files with 31 additions and 18 deletions

View File

@@ -607,7 +607,7 @@ BOOST_AUTO_TEST_CASE(exp_sinh_quadrature_test)
#endif #endif
#endif #endif
#endif #endif
#if defined(TEST4) && !defined(BOOST_MATH_NO_MP_TESTS) #if defined(TEST4) && defined(BOOST_MATH_RUN_MP_TESTS)
test_left_limit_infinite<cpp_bin_float_quad>(); test_left_limit_infinite<cpp_bin_float_quad>();
test_right_limit_infinite<cpp_bin_float_quad>(); test_right_limit_infinite<cpp_bin_float_quad>();
test_nr_examples<cpp_bin_float_quad>(); test_nr_examples<cpp_bin_float_quad>();
@@ -622,13 +622,13 @@ BOOST_AUTO_TEST_CASE(exp_sinh_quadrature_test)
test_crc<boost::math::concepts::real_concept>(); test_crc<boost::math::concepts::real_concept>();
#endif #endif
#endif #endif
#if defined(TEST6) && !defined(BOOST_MATH_NO_MP_TESTS) #if defined(TEST6) && defined(BOOST_MATH_RUN_MP_TESTS)
test_left_limit_infinite<boost::multiprecision::cpp_bin_float_50>(); test_left_limit_infinite<boost::multiprecision::cpp_bin_float_50>();
test_right_limit_infinite<boost::multiprecision::cpp_bin_float_50>(); test_right_limit_infinite<boost::multiprecision::cpp_bin_float_50>();
test_nr_examples<boost::multiprecision::cpp_bin_float_50>(); test_nr_examples<boost::multiprecision::cpp_bin_float_50>();
test_crc<boost::multiprecision::cpp_bin_float_50>(); test_crc<boost::multiprecision::cpp_bin_float_50>();
#endif #endif
#if defined(TEST7) && !defined(BOOST_MATH_NO_MP_TESTS) #if defined(TEST7) && defined(BOOST_MATH_RUN_MP_TESTS)
test_left_limit_infinite<boost::multiprecision::cpp_dec_float_50>(); test_left_limit_infinite<boost::multiprecision::cpp_dec_float_50>();
test_right_limit_infinite<boost::multiprecision::cpp_dec_float_50>(); test_right_limit_infinite<boost::multiprecision::cpp_dec_float_50>();
test_nr_examples<boost::multiprecision::cpp_dec_float_50>(); test_nr_examples<boost::multiprecision::cpp_dec_float_50>();
@@ -636,7 +636,7 @@ BOOST_AUTO_TEST_CASE(exp_sinh_quadrature_test)
// This one causes stack overflows on the CI machine, but not locally, // This one causes stack overflows on the CI machine, but not locally,
// assume it's due to restricted resources on the server, and <shrug> for now... // assume it's due to restricted resources on the server, and <shrug> for now...
// //
#if ! BOOST_WORKAROUND(BOOST_MSVC, == 1900) && !defined(BOOST_MATH_NO_MP_TESTS) #if ! BOOST_WORKAROUND(BOOST_MSVC, == 1900) && defined(BOOST_MATH_RUN_MP_TESTS)
test_crc<boost::multiprecision::cpp_dec_float_50>(); test_crc<boost::multiprecision::cpp_dec_float_50>();
#endif #endif
#endif #endif
@@ -656,7 +656,7 @@ BOOST_AUTO_TEST_CASE(exp_sinh_quadrature_test)
#ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS #ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
test_complex_exponential_integral_E1<std::complex<long double>>(); test_complex_exponential_integral_E1<std::complex<long double>>();
#endif #endif
#ifndef BOOST_MATH_NO_MP_TESTS #if defined(BOOST_MATH_RUN_MP_TESTS)
test_complex_exponential_integral_E1<boost::multiprecision::cpp_complex_quad>(); test_complex_exponential_integral_E1<boost::multiprecision::cpp_complex_quad>();
#endif #endif
#endif #endif

View File

@@ -477,7 +477,7 @@ BOOST_AUTO_TEST_CASE(gauss_quadrature_test)
test_complex_lambert_w<std::complex<long double>>(); test_complex_lambert_w<std::complex<long double>>();
#endif #endif
#ifdef TEST1A #ifdef TEST1A
#if LDBL_MANT_DIG < 100 // If we have too many digits in a long double, we get build errors due to a constexpr issue. #if LDBL_MANT_DIG < 100 && defined(BOOST_MATH_RUN_MP_TESTS) // If we have too many digits in a long double, we get build errors due to a constexpr issue.
std::cout << "Testing 21 point approximation:\n"; std::cout << "Testing 21 point approximation:\n";
test_linear<cpp_bin_float_quad, 21>(); test_linear<cpp_bin_float_quad, 21>();
test_quadratic<cpp_bin_float_quad, 21>(); test_quadratic<cpp_bin_float_quad, 21>();
@@ -498,7 +498,7 @@ BOOST_AUTO_TEST_CASE(gauss_quadrature_test)
#endif #endif
#endif #endif
#ifdef TEST2 #ifdef TEST2
#if LDBL_MANT_DIG < 100 // If we have too many digits in a long double, we get build errors due to a constexpr issue. #if LDBL_MANT_DIG < 100 && defined(BOOST_MATH_RUN_MP_TESTS) // If we have too many digits in a long double, we get build errors due to a constexpr issue.
std::cout << "Testing 41 point approximation:\n"; std::cout << "Testing 41 point approximation:\n";
test_linear<cpp_bin_float_quad, 41>(); test_linear<cpp_bin_float_quad, 41>();
test_quadratic<cpp_bin_float_quad, 41>(); test_quadratic<cpp_bin_float_quad, 41>();
@@ -518,7 +518,7 @@ BOOST_AUTO_TEST_CASE(gauss_quadrature_test)
test_left_limit_infinite<cpp_bin_float_quad, 51>(); test_left_limit_infinite<cpp_bin_float_quad, 51>();
#endif #endif
#endif #endif
#ifdef TEST3 #if defined(TEST3) && defined(BOOST_MATH_RUN_MP_TESTS)
// Need at least one set of tests with expression templates turned on: // Need at least one set of tests with expression templates turned on:
std::cout << "Testing 61 point approximation:\n"; std::cout << "Testing 61 point approximation:\n";
test_linear<cpp_dec_float_50, 61>(); test_linear<cpp_dec_float_50, 61>();

View File

@@ -461,7 +461,7 @@ BOOST_AUTO_TEST_CASE(gauss_quadrature_test)
test_right_limit_infinite<double, 9>(); test_right_limit_infinite<double, 9>();
test_left_limit_infinite<double, 9>(); test_left_limit_infinite<double, 9>();
#if LDBL_MANT_DIG < 100 #if LDBL_MANT_DIG < 100 && defined(BOOST_MATH_RUN_MP_TESTS)
test_linear<cpp_bin_float_quad, 10>(); test_linear<cpp_bin_float_quad, 10>();
test_quadratic<cpp_bin_float_quad, 10>(); test_quadratic<cpp_bin_float_quad, 10>();
test_ca<cpp_bin_float_quad, 10>(); test_ca<cpp_bin_float_quad, 10>();
@@ -472,7 +472,7 @@ BOOST_AUTO_TEST_CASE(gauss_quadrature_test)
#endif #endif
#endif #endif
#ifdef TEST2 #ifdef TEST2
#if LDBL_MANT_DIG < 100 #if LDBL_MANT_DIG < 100 && defined(BOOST_MATH_RUN_MP_TESTS)
test_linear<cpp_bin_float_quad, 15>(); test_linear<cpp_bin_float_quad, 15>();
test_quadratic<cpp_bin_float_quad, 15>(); test_quadratic<cpp_bin_float_quad, 15>();
test_ca<cpp_bin_float_quad, 15>(); test_ca<cpp_bin_float_quad, 15>();
@@ -508,7 +508,7 @@ BOOST_AUTO_TEST_CASE(gauss_quadrature_test)
#endif #endif
#endif #endif
#ifdef TEST3 #ifdef TEST3
#if LDBL_MANT_DIG < 100 #if LDBL_MANT_DIG < 100 && defined(BOOST_MATH_RUN_MP_TESTS)
test_left_limit_infinite<cpp_bin_float_quad, 30>(); test_left_limit_infinite<cpp_bin_float_quad, 30>();
#endif #endif
test_complex_lambert_w<std::complex<double>>(); test_complex_lambert_w<std::complex<double>>();
@@ -517,7 +517,7 @@ BOOST_AUTO_TEST_CASE(gauss_quadrature_test)
test_left_limit_infinite<boost::multiprecision::float128, 30>(); test_left_limit_infinite<boost::multiprecision::float128, 30>();
test_complex_lambert_w<boost::multiprecision::complex128>(); test_complex_lambert_w<boost::multiprecision::complex128>();
#endif #endif
#if LDBL_MANT_DIG < 100 #if LDBL_MANT_DIG < 100 && defined(BOOST_MATH_RUN_MP_TESTS)
test_complex_lambert_w<boost::multiprecision::cpp_complex_quad>(); test_complex_lambert_w<boost::multiprecision::cpp_complex_quad>();
#endif #endif
#endif #endif

View File

@@ -286,7 +286,7 @@ BOOST_AUTO_TEST_CASE(sinh_sinh_quadrature_test)
#if !defined(BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS) && !defined(BOOST_MATH_NO_REAL_CONCEPT_TESTS) #if !defined(BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS) && !defined(BOOST_MATH_NO_REAL_CONCEPT_TESTS)
test_nr_examples<boost::math::concepts::real_concept>(); test_nr_examples<boost::math::concepts::real_concept>();
#endif #endif
#if !BOOST_WORKAROUND(BOOST_MSVC, < 1900) #if !BOOST_WORKAROUND(BOOST_MSVC, < 1900) && defined(BOOST_MATH_RUN_MP_TESTS)
test_nr_examples<boost::multiprecision::cpp_dec_float_50>(); test_nr_examples<boost::multiprecision::cpp_dec_float_50>();
#endif #endif
@@ -297,12 +297,14 @@ BOOST_AUTO_TEST_CASE(sinh_sinh_quadrature_test)
test_crc<long double>(); test_crc<long double>();
test_dirichlet_eta<std::complex<long double>>(); test_dirichlet_eta<std::complex<long double>>();
#endif #endif
#ifdef BOOST_MATH_RUN_MP_TESTS
test_crc<cpp_bin_float_quad>(); test_crc<cpp_bin_float_quad>();
test_dirichlet_eta<boost::multiprecision::cpp_complex_quad>(); test_dirichlet_eta<boost::multiprecision::cpp_complex_quad>();
#endif
#if !defined(BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS) && !defined(BOOST_MATH_NO_REAL_CONCEPT_TESTS) #if !defined(BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS) && !defined(BOOST_MATH_NO_REAL_CONCEPT_TESTS)
test_crc<boost::math::concepts::real_concept>(); test_crc<boost::math::concepts::real_concept>();
#endif #endif
#if !BOOST_WORKAROUND(BOOST_MSVC, < 1900) #if !BOOST_WORKAROUND(BOOST_MSVC, < 1900) && defined(BOOST_MATH_RUN_MP_TESTS)
test_crc<boost::multiprecision::cpp_dec_float_50>(); test_crc<boost::multiprecision::cpp_dec_float_50>();
#endif #endif

View File

@@ -16,6 +16,8 @@ using boost::multiprecision::mpfr_float;
using boost::math::constants::pi; using boost::math::constants::pi;
using boost::math::constants::zeta_three; using boost::math::constants::zeta_three;
#ifdef BOOST_MATH_RUN_MP_TESTS
int main() { int main() {
using Real = mpfr_float; using Real = mpfr_float;
int p = 100; int p = 100;
@@ -28,3 +30,12 @@ int main() {
CHECK_ULP_CLOSE(expected, Q, 3); CHECK_ULP_CLOSE(expected, Q, 3);
return boost::math::test::report_errors(); return boost::math::test::report_errors();
} }
#else
int main()
{
return 0;
}
#endif

View File

@@ -953,7 +953,7 @@ BOOST_AUTO_TEST_CASE(tanh_sinh_quadrature_test)
#endif #endif
#ifdef TEST4 #ifdef TEST4
#ifndef BOOST_MATH_NO_MP_TESTS #ifdef BOOST_MATH_RUN_MP_TESTS
test_right_limit_infinite<cpp_bin_float_quad>(); test_right_limit_infinite<cpp_bin_float_quad>();
test_left_limit_infinite<cpp_bin_float_quad>(); test_left_limit_infinite<cpp_bin_float_quad>();
test_linear<cpp_bin_float_quad>(); test_linear<cpp_bin_float_quad>();
@@ -970,7 +970,7 @@ BOOST_AUTO_TEST_CASE(tanh_sinh_quadrature_test)
#endif #endif
#endif #endif
#ifdef TEST5 #ifdef TEST5
#ifndef BOOST_MATH_NO_MP_TESTS #ifdef BOOST_MATH_RUN_MP_TESTS
test_sf<cpp_bin_float_50>(); test_sf<cpp_bin_float_50>();
test_sf<cpp_bin_float_100>(); test_sf<cpp_bin_float_100>();
test_sf<boost::multiprecision::number<boost::multiprecision::cpp_bin_float<150> > >(); test_sf<boost::multiprecision::number<boost::multiprecision::cpp_bin_float<150> > >();
@@ -1000,9 +1000,9 @@ BOOST_AUTO_TEST_CASE(tanh_sinh_quadrature_test)
#endif #endif
#endif #endif
#ifdef TEST7 #ifdef TEST7
#ifndef BOOST_MATH_NO_MP_TESTS #ifdef BOOST_MATH_RUN_MP_TESTS
test_sf<cpp_dec_float_50>(); test_sf<cpp_dec_float_50>();
#endif #endif
#endif #endif
#if defined(TEST8) && defined(BOOST_HAS_FLOAT128) && !defined(BOOST_MATH_NO_MP_TESTS) #if defined(TEST8) && defined(BOOST_HAS_FLOAT128) && !defined(BOOST_MATH_NO_MP_TESTS)