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

Restrict the most extreme tests to types that are evaluated at 80-bit precision or less.

This commit is contained in:
jzmaddock
2025-04-14 09:39:57 +01:00
parent 0093714533
commit e8c86a8f12

View File

@@ -133,7 +133,12 @@ void test_beta(T, const char* name)
#endif
#if !defined(TEST_DATA) || (TEST_DATA == 5)
if (std::numeric_limits<T>::is_specialized)
//
// We restrict these tests to types of limited precision, otherwise we exhaust our iteration limit
// and throw exceptions. This includes types (ie double) which may be promoted internally to
// a 128-bit long double for evaluation.
//
if (std::numeric_limits<T>::is_specialized && (std::numeric_limits<T>::digits <= 64) && ((std::numeric_limits<long double>::digits <= 64) || (sizeof(T) == sizeof(float))))
{
# include "ibeta_large_asym_data.ipp"