diff --git a/include/boost/math/concepts/std_real_concept.hpp b/include/boost/math/concepts/std_real_concept.hpp index 277c35caf..f77935c7f 100644 --- a/include/boost/math/concepts/std_real_concept.hpp +++ b/include/boost/math/concepts/std_real_concept.hpp @@ -90,6 +90,9 @@ public: std_real_concept& operator=(float c) { m_value = c; return *this; } std_real_concept& operator=(double c) { m_value = c; return *this; } std_real_concept& operator=(long double c) { m_value = c; return *this; } +#ifdef BOOST_MATH_USE_FLOAT128 + std_real_concept& operator=(BOOST_MATH_FLOAT128_TYPE c) { m_value = c; return *this; } +#endif // Access: std_real_concept_base_type value()const{ return m_value; } diff --git a/test/exp_sinh_quadrature_test.cpp b/test/exp_sinh_quadrature_test.cpp index 7bba2298a..deed18c92 100644 --- a/test/exp_sinh_quadrature_test.cpp +++ b/test/exp_sinh_quadrature_test.cpp @@ -644,7 +644,7 @@ BOOST_AUTO_TEST_CASE(exp_sinh_quadrature_test) test_right_limit_infinite(); test_nr_examples(); test_crc(); - test_non_central_t(); + test_non_central_t(); #else test_left_limit_infinite(); test_right_limit_infinite(); diff --git a/test/test_nc_t_quad.cpp b/test/test_nc_t_quad.cpp index 0f0179c45..5b7ac27d3 100644 --- a/test/test_nc_t_quad.cpp +++ b/test/test_nc_t_quad.cpp @@ -40,6 +40,14 @@ using std::endl; #include using std::numeric_limits; +#if defined(__GNUC__) && (__GNUC__ < 13) && (defined(__CYGWIN__) || defined(_WIN32)) +// +// We either get an internal compiler error, or worse, the compiler prints nothing at all +// and exits with an error code :( +// +# define DISABLE_THIS_TEST +#endif + void expected_results() { @@ -83,10 +91,12 @@ BOOST_AUTO_TEST_CASE( test_main ) BOOST_MATH_CONTROL_FP; // Basic sanity-check spot values. expected_results(); +#ifndef DISABLE_THIS_TEST #if !BOOST_WORKAROUND(BOOST_MSVC, < 1920) test_spots(boost::multiprecision::cpp_bin_float_quad(0)); #endif test_accuracy(boost::multiprecision::cpp_bin_float_quad(0), "cpp_bin_float_quad"); +#endif // double precision tests only: //test_big_df(boost::multiprecision::cpp_bin_float_quad(0)); } // BOOST_AUTO_TEST_CASE( test_main )