2
0
mirror of https://github.com/boostorg/math.git synced 2026-02-21 15:12:28 +00:00

Merge branch 'hypergeometric_soc_2014' of https://github.com/boostorg/math into hypergeometric_soc_2014

This commit is contained in:
jzmaddock
2019-07-28 20:04:32 +01:00
4 changed files with 12 additions and 10 deletions

View File

@@ -113,7 +113,7 @@ test-suite special_fun :
[ run test_1F1_log.cpp ../../test/build//boost_unit_test_framework : : : release [ requires cxx11_auto_declarations cxx11_lambdas cxx11_unified_initialization_syntax cxx11_smart_ptr ] <define>TEST=4 release <toolset>clang:<cxxflags>-Wno-literal_range : test_1F1_log_long_double ]
[ run test_1F1_log.cpp ../../test/build//boost_unit_test_framework : : : release [ requires cxx11_auto_declarations cxx11_lambdas cxx11_unified_initialization_syntax cxx11_smart_ptr ] <define>TEST=5 <toolset>clang:<cxxflags>-Wno-literal_range : test_1F1_log_real_concept ]
# pFq:
[ run test_1F1.cpp ../../test/build//boost_unit_test_framework : : : [ requires cxx11_hdr_initializer_list cxx11_auto_declarations cxx11_lambdas cxx11_unified_initialization_syntax cxx11_smart_ptr ] <define>TEST=2 release <toolset>clang:<cxxflags>-Wno-literal_range : test_1F1_float ]
[ run test_pFq.cpp ../../test/build//boost_unit_test_framework : : : [ requires cxx11_hdr_initializer_list cxx11_auto_declarations cxx11_lambdas cxx11_unified_initialization_syntax cxx11_smart_ptr ] <define>TEST=2 release <toolset>clang:<cxxflags>-Wno-literal_range : test_pFq_float ]
[ run test_pFq.cpp ../../test/build//boost_unit_test_framework : : : [ requires cxx11_hdr_initializer_list cxx11_auto_declarations cxx11_lambdas cxx11_unified_initialization_syntax cxx11_smart_ptr ] <define>TEST=3 release <toolset>clang:<cxxflags>-Wno-literal_range : test_pFq_double ]
[ run test_pFq.cpp ../../test/build//boost_unit_test_framework : : : [ requires cxx11_hdr_initializer_list cxx11_auto_declarations cxx11_lambdas cxx11_unified_initialization_syntax cxx11_smart_ptr ] <define>TEST=4 release <toolset>clang:<cxxflags>-Wno-literal_range : test_pFq_long_double ]
[ run test_pFq.cpp ../../test/build//boost_unit_test_framework : : : [ requires cxx11_hdr_initializer_list cxx11_auto_declarations cxx11_lambdas cxx11_unified_initialization_syntax cxx11_smart_ptr ] <define>TEST=5 release <toolset>clang:<cxxflags>-Wno-literal_range : test_pFq_real_concept ]

View File

@@ -6,9 +6,9 @@
{ SC_(9.6886760729830712080001831054687500000000e-06), SC_(-1.2525131835937500000000000000000000000000e+03), SC_(-1.0437607421875000000000000000000000000000e+03), SC_(1.0000174610171120995494972331285845784973e+00) },
{ SC_(-9.1337614555042634378878574352711439132690e-13), SC_(-1.2525131835937500000000000000000000000000e+03), SC_(-1.0437607421875000000000000000000000000000e+03), SC_(9.9999999999835391995458077011747081732328e-01) },
{ SC_(9.1337571186955734958701214054599404335022e-13), SC_(-1.2525131835937500000000000000000000000000e+03), SC_(-1.0437607421875000000000000000000000000000e+03), SC_(1.0000000000016460792638453549919301101979e+00) },
{ { std::ldexp((double)10485392221989376, -40), std::ldexp((double)-11440692920695040, -40), std::ldexp((double)15790527852544000, -44), SC_(1.18289892801537469540400591236035802241505227e+161) } },
{ { std::ldexp((double)10485980564770816, -40), std::ldexp((double)-10424015334037760, -40), std::ldexp((double)12850940076032000, -44), SC_(-5.63691240015269602721075116789607623755153984e-99) } },
{ { std::ldexp((double)10485102088130304, -40), std::ldexp((double)-12174307949802496, -40), std::ldexp((double)17027372515328000, -44), SC_(-619367491691927041975872.474550388407917992627) } },
{ { static_cast<T>(std::ldexp((double)10485392221989376, -40)), static_cast<T>(std::ldexp((double)-11440692920695040, -40)), static_cast<T>(std::ldexp((double)15790527852544000, -44)), SC_(1.18289892801537469540400591236035802241505227e+161) } },
{ { static_cast<T>(std::ldexp((double)10485980564770816, -40)), static_cast<T>(std::ldexp((double)-10424015334037760, -40)), static_cast<T>(std::ldexp((double)12850940076032000, -44)), SC_(-5.63691240015269602721075116789607623755153984e-99) } },
{ { static_cast<T>(std::ldexp((double)10485102088130304, -40)), static_cast<T>(std::ldexp((double)-12174307949802496, -40)), static_cast<T>(std::ldexp((double)17027372515328000, -44)), SC_(-619367491691927041975872.474550388407917992627) } },
}};
//#undef SC_

View File

@@ -104,6 +104,8 @@ void check_pFq_result(const T& result, const T& norm, const T& expect, const std
template <class T>
void test_spots_1F0(T, const char*)
{
using std::pow;
T tolerance = boost::math::tools::epsilon<T>() * 1000;
BOOST_CHECK_CLOSE(boost::math::hypergeometric_pFq({ T(-3) }, {}, T(2)), T(-1), tolerance);