mirror of
https://github.com/boostorg/math.git
synced 2026-02-22 15:32:28 +00:00
Fix and implement test using C++20 ranges
This commit is contained in:
@@ -386,4 +386,19 @@ BOOST_AUTO_TEST_CASE_TEMPLATE(error_cases, RealT, test_types)
|
||||
BOOST_MATH_CHECK_THROW(dist_t(probs2, rates), std::domain_error);
|
||||
BOOST_MATH_CHECK_THROW(dist_t(probs.begin(), probs.begin(), rates.begin(), rates.begin()), std::domain_error);
|
||||
BOOST_MATH_CHECK_THROW(dist_t(rates.begin(), rates.begin()), std::domain_error);
|
||||
|
||||
// Test C++20 ranges
|
||||
#if (__cplusplus > 202000L || _MSVC_LANG > 202000L) && defined(__cpp_lib_ranges)
|
||||
#include <ranges>
|
||||
#include <array>
|
||||
|
||||
std::array<RealT, 2> probs_array {1,2};
|
||||
std::array<RealT, 3> rates_array {1,2,3};
|
||||
BOOST_MATH_CHECK_THROW(dist_t(std::ranges::begin(probs_array), std::ranges::end(probs_array), std::ranges::begin(rates_array), std::ranges::end(rates_array)), std::domain_error);
|
||||
|
||||
const auto probs_range = probs_array | std::views::all;
|
||||
const auto rates_range = rates_array | std::views::all;
|
||||
|
||||
BOOST_MATH_CHECK_THROW(dist_t(probs_range, rates_range), std::domain_error);
|
||||
#endif
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user