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

1F1: Testing update, note that not all tests quite pass yet.

This commit is contained in:
jzmaddock
2019-06-04 17:54:06 +01:00
parent 7c87ee09d4
commit bb9ad4a909
5 changed files with 94 additions and 1501 deletions

View File

@@ -114,6 +114,13 @@ test-suite special_fun :
[ run test_1F1_regularized.cpp ../../test/build//boost_unit_test_framework : : : [ requires cxx11_auto_declarations cxx11_lambdas cxx11_unified_initialization_syntax cxx11_smart_ptr ] <define>TEST=5 <toolset>clang:<cxxflags>-Wno-literal_range : test_1F1_regularized_real_concept ]
[ run test_1F1_regularized.cpp ../../test/build//boost_unit_test_framework : : : [ requires cxx11_auto_declarations cxx11_lambdas cxx11_unified_initialization_syntax cxx11_smart_ptr ] <define>TEST=6 release [ check-target-builds ../config//has_float128 "GCC libquadmath and __float128 support" : <define>BOOST_MATH_TEST_FLOAT128 <linkflags>"-Bstatic -lquadmath -Bdynamic" ] <toolset>clang:<cxxflags>-Wno-literal_range : test_1F1_regularized_quad ]
[ run test_1F1_regularized.cpp ../../test/build//boost_unit_test_framework : : : [ requires cxx11_auto_declarations cxx11_lambdas cxx11_unified_initialization_syntax cxx11_smart_ptr ] <define>TEST=7 release <toolset>clang:<cxxflags>-Wno-literal_range : test_1F1_regularized_dec_40 ]
# These are slow...
[ 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=2 <toolset>clang:<cxxflags>-Wno-literal_range : test_1F1_log_float ]
[ 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=3 <toolset>clang:<cxxflags>-Wno-literal_range : test_1F1_log_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=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 ]
[ 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=6 release [ check-target-builds ../config//has_float128 "GCC libquadmath and __float128 support" : <define>BOOST_MATH_TEST_FLOAT128 <linkflags>"-Bstatic -lquadmath -Bdynamic" ] <toolset>clang:<cxxflags>-Wno-literal_range : test_1F1_log_quad ]
[ 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=7 release <toolset>clang:<cxxflags>-Wno-literal_range : test_1F1_log_dec_40 ]
[ run hypot_test.cpp test_instances//test_instances pch_light ../../test/build//boost_unit_test_framework ]

View File

@@ -1,7 +1,7 @@
#ifndef SC_
# define SC_(x) static_cast<T>(BOOST_JOIN(x, L))
#endif
static const boost::array<boost::array<T, 4>, 2007> hypergeometric_1f1_large_regularized = {{
static const boost::array<boost::array<T, 4>, 2008> hypergeometric_1f1_large_regularized = {{
{ SC_(-8.1472375000000000000000000000000000000000e+05), SC_(-1.9048027038574218750000000000000000000000e+01), SC_(-1.2110849638702347874641418457031250000000e-05), SC_(4.0276663579159193006951037397981254601813e+15) },
{ SC_(-8.1472375000000000000000000000000000000000e+05), SC_(-1.9048027038574218750000000000000000000000e+01), SC_(-1.1417199650975984326350953779183328151703e-12), SC_(6.7129875507034971595620263116260431712429e+15) },
{ SC_(-8.1472375000000000000000000000000000000000e+05), SC_(-1.9048027038574218750000000000000000000000e+01), SC_(-2.7629261207602954767400179815809657975825e-31), SC_(6.7129878785237833504309558423436229226113e+15) },
@@ -99,6 +99,7 @@
{ SC_(-8.1472375000000000000000000000000000000000e+05), SC_(1.2220855000000000000000000000000000000000e+06), SC_(1.2110846000723540782928466796875000000000e-05), SC_(1.1011290480821522742114482092297034968518e-6908211) },
{ SC_(-8.1472375000000000000000000000000000000000e+05), SC_(1.2220855000000000000000000000000000000000e+06), SC_(1.5873352050781250000000000000000000000000e+01), SC_(2.7924497938758277149482637650156463879015e-6908216) },
{ SC_(-8.1472375000000000000000000000000000000000e+05), SC_(1.2220855000000000000000000000000000000000e+06), SC_(1.0437607421875000000000000000000000000000e+03), SC_(4.2340065164274310008757719114100354093898e-6908514) },
{ SC_(-8.1472375000000000000000000000000000000000e+05), SC_(1.2220855000000000000000000000000000000000e+06), SC_(1.1322398437500000000000000000000000000000e+04), SC_(1.5475988046716377679876247791794313977856e-6911515) },
{ SC_(-1.3547703125000000000000000000000000000000e+04), SC_(-1.9048027038574218750000000000000000000000e+01), SC_(-1.2110849638702347874641418457031250000000e-05), SC_(6.6554261194445435510830259032054289229569e+15) },
{ SC_(-1.3547703125000000000000000000000000000000e+04), SC_(-1.9048027038574218750000000000000000000000e+01), SC_(-1.1417199650975984326350953779183328151703e-12), SC_(6.7129878730725957200074691569732078908729e+15) },
{ SC_(-1.3547703125000000000000000000000000000000e+04), SC_(-1.9048027038574218750000000000000000000000e+01), SC_(-2.7629261207602954767400179815809657975825e-31), SC_(6.7129878785237833504309559203559248443670e+15) },
@@ -175,7 +176,6 @@
{ SC_(-1.3547703125000000000000000000000000000000e+04), SC_(1.2525126953125000000000000000000000000000e+03), SC_(1.0437607421875000000000000000000000000000e+03), SC_(-5.7362403534204934524827025068138020399055e-4263) },
{ SC_(-1.3547703125000000000000000000000000000000e+04), SC_(1.2525126953125000000000000000000000000000e+03), SC_(1.1322398437500000000000000000000000000000e+04), SC_(-3.4994152135232750041363005174768096158856e-2680) },
{ SC_(-1.3547703125000000000000000000000000000000e+04), SC_(1.2525126953125000000000000000000000000000e+03), SC_(1.6934625000000000000000000000000000000000e+04), SC_(1.1881479187750288394224331368230088871354e-1569) },
{ SC_(-1.3547703125000000000000000000000000000000e+04), SC_(1.3586878906250000000000000000000000000000e+04), SC_(-1.0184047500000000000000000000000000000000e+06), SC_(4.6710459820865730959637617638857783246533e-26969) },
{ SC_(-1.3547703125000000000000000000000000000000e+04), SC_(1.3586878906250000000000000000000000000000e+04), SC_(-1.6934625000000000000000000000000000000000e+04), SC_(6.4785686326757359339666508671118110422634e-46142) },
{ SC_(-1.3547703125000000000000000000000000000000e+04), SC_(1.3586878906250000000000000000000000000000e+04), SC_(-1.1322402343750000000000000000000000000000e+04), SC_(2.9813609221351488388903136707082763212133e-47133) },
{ SC_(-1.3547703125000000000000000000000000000000e+04), SC_(1.3586878906250000000000000000000000000000e+04), SC_(-1.0437607421875000000000000000000000000000e+03), SC_(8.2282013686018106547459553939011455708297e-49833) },
@@ -190,7 +190,6 @@
{ SC_(-1.3547703125000000000000000000000000000000e+04), SC_(1.3586878906250000000000000000000000000000e+04), SC_(1.0437607421875000000000000000000000000000e+03), SC_(4.8264975585311190834623852156272537519142e-50748) },
{ SC_(-1.3547703125000000000000000000000000000000e+04), SC_(1.3586878906250000000000000000000000000000e+04), SC_(1.1322398437500000000000000000000000000000e+04), SC_(9.7799750429322479967770797506708350791407e-54293) },
{ SC_(-1.3547703125000000000000000000000000000000e+04), SC_(1.3586878906250000000000000000000000000000e+04), SC_(1.6934625000000000000000000000000000000000e+04), SC_(-9.6211567959632149221190374455015304356911e-54262) },
{ SC_(-1.3547703125000000000000000000000000000000e+04), SC_(2.0321546875000000000000000000000000000000e+04), SC_(-1.0184047500000000000000000000000000000000e+06), SC_(5.9645869510116495865625291762197193864117e-57126) },
{ SC_(-1.3547703125000000000000000000000000000000e+04), SC_(2.0321546875000000000000000000000000000000e+04), SC_(-1.6934625000000000000000000000000000000000e+04), SC_(4.6553821607479941874646066042876515382905e-75476) },
{ SC_(-1.3547703125000000000000000000000000000000e+04), SC_(2.0321546875000000000000000000000000000000e+04), SC_(-1.1322402343750000000000000000000000000000e+04), SC_(2.9815103372339818184634334179896273355838e-76318) },
{ SC_(-1.3547703125000000000000000000000000000000e+04), SC_(2.0321546875000000000000000000000000000000e+04), SC_(-1.0437607421875000000000000000000000000000e+03), SC_(1.3964339118443725171065829684805547244484e-78427) },
@@ -615,6 +614,7 @@
{ SC_(-9.6886797109618782997131347656250000000000e-06), SC_(-1.9048027038574218750000000000000000000000e+01), SC_(1.1417195314167294384333217749372124671936e-12), SC_(6.7129878785237833543293872992463780989483e+15) },
{ SC_(-9.6886797109618782997131347656250000000000e-06), SC_(-1.9048027038574218750000000000000000000000e+01), SC_(1.2110846000723540782928466796875000000000e-05), SC_(6.7129878785651361388507681755307213123083e+15) },
{ SC_(-9.6886797109618782997131347656250000000000e-06), SC_(-1.9048027038574218750000000000000000000000e+01), SC_(1.5873352050781250000000000000000000000000e+01), SC_(-2.5176571469114176969982320136871961634911e+24) },
{ SC_(-9.6886797109618782997131347656250000000000e-06), SC_(-1.4533019566442817449569702148437500000000e-05), SC_(-1.1322402343750000000000000000000000000000e+04), SC_(-4.8447644429328358183622363933589219826038e-06) },
{ SC_(-9.6886797109618782997131347656250000000000e-06), SC_(-1.4533019566442817449569702148437500000000e-05), SC_(-1.0437607421875000000000000000000000000000e+03), SC_(-4.8446525021040013653287688892894293396999e-06) },
{ SC_(-9.6886797109618782997131347656250000000000e-06), SC_(-1.4533019566442817449569702148437500000000e-05), SC_(-1.5873352050781250000000000000000000000000e+01), SC_(-4.8444541347335273347663082937916081469126e-06) },
{ SC_(-9.6886797109618782997131347656250000000000e-06), SC_(-1.4533019566442817449569702148437500000000e-05), SC_(-1.2110849638702347874641418457031250000000e-05), SC_(-1.4532780315035482937361371320498674440895e-05) },
@@ -1334,6 +1334,7 @@
{ SC_(9.6886760729830712080001831054687500000000e-06), SC_(3.3155100283586816511260126529122372681838e-31), SC_(1.1417195314167294384333217749372124671936e-12), SC_(1.1061750706101356690194577241517037150219e-17) },
{ SC_(9.6886760729830712080001831054687500000000e-06), SC_(3.3155100283586816511260126529122372681838e-31), SC_(1.2110846000723540782928466796875000000000e-05), SC_(1.1733877441215621002311299331987083075254e-10) },
{ SC_(9.6886760729830712080001831054687500000000e-06), SC_(3.3155100283586816511260126529122372681838e-31), SC_(1.5873352050781250000000000000000000000000e+01), SC_(7.5855550212118033243469227126414373757571e+01) },
{ SC_(9.6886760729830712080001831054687500000000e-06), SC_(1.3700637846447705214814050123095512390137e-12), SC_(-1.1322402343750000000000000000000000000000e+04), SC_(-9.6877443345053305640120241782056321219159e-06) },
{ SC_(9.6886760729830712080001831054687500000000e-06), SC_(1.3700637846447705214814050123095512390137e-12), SC_(-1.0437607421875000000000000000000000000000e+03), SC_(-9.6879681800184172295284386472855796842315e-06) },
{ SC_(9.6886760729830712080001831054687500000000e-06), SC_(1.3700637846447705214814050123095512390137e-12), SC_(-1.5873352050781250000000000000000000000000e+01), SC_(-9.6883661135222467532595423122078484448035e-06) },
{ SC_(9.6886760729830712080001831054687500000000e-06), SC_(1.3700637846447705214814050123095512390137e-12), SC_(-1.2110849638702347874641418457031250000000e-05), SC_(-1.1596732479738469646516806247987879361580e-10) },

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,37 @@
#ifndef SC_
# define SC_(x) static_cast<T>(BOOST_JOIN(x, L))
#endif
static const boost::array<boost::array<T, 4>, 28> hypergeometric_1f1_log_large_unsolved = {{
{ SC_(-8.1472375000000000000000000000000000000000e+05), SC_(-1.3586878906250000000000000000000000000000e+04), SC_(-1.5873352050781250000000000000000000000000e+01), SC_(-9.2173743826070611351476246204795205014058e+02) },
{ SC_(-1.3547703125000000000000000000000000000000e+04), SC_(-1.2525131835937500000000000000000000000000e+03), SC_(-1.5873352050781250000000000000000000000000e+01), SC_(9.9962758750935854786688366779961780448550e+01) },
{ SC_(-1.3547703125000000000000000000000000000000e+04), SC_(-1.2525131835937500000000000000000000000000e+03), SC_(1.0184045000000000000000000000000000000000e+06), SC_(9.5614583192913363758190807218566099668686e+05) },
{ SC_(-1.3547703125000000000000000000000000000000e+04), SC_(-1.9048027038574218750000000000000000000000e+01), SC_(1.0184045000000000000000000000000000000000e+06), SC_(9.4674756699732914480964181735648918343295e+05) },
{ SC_(-1.3547703125000000000000000000000000000000e+04), SC_(-1.4533019566442817449569702148437500000000e-05), SC_(1.0184045000000000000000000000000000000000e+06), SC_(9.4653190213477956872601716084177933239422e+05) },
{ SC_(-1.3547703125000000000000000000000000000000e+04), SC_(-1.3700637846447705214814050123095512390137e-12), SC_(1.0184045000000000000000000000000000000000e+06), SC_(9.4654807900207498519290118195194404978877e+05) },
{ SC_(-1.3547703125000000000000000000000000000000e+04), SC_(-3.3155109687541623089560190279014670459804e-31), SC_(1.0184045000000000000000000000000000000000e+06), SC_(9.4659094436438859633733763292247146918226e+05) },
{ SC_(-1.3547703125000000000000000000000000000000e+04), SC_(3.3155100283586816511260126529122372681838e-31), SC_(1.0184045000000000000000000000000000000000e+06), SC_(9.4659094436467223153652258071560586676152e+05) },
{ SC_(8.1472350000000000000000000000000000000000e+05), SC_(-1.3586878906250000000000000000000000000000e+04), SC_(1.5873352050781250000000000000000000000000e+01), SC_(-9.2075804481807222814302973318532642713970e+02) },
{ SC_(-1.3547703125000000000000000000000000000000e+04), SC_(1.3700637846447705214814050123095512390137e-12), SC_(1.0184045000000000000000000000000000000000e+06), SC_(9.4654807900207494574222703816528674210724e+05) },
{ SC_(-1.3547703125000000000000000000000000000000e+04), SC_(1.4533015928464010357856750488281250000000e-05), SC_(1.0184045000000000000000000000000000000000e+06), SC_(9.4653190171655496299468839490654159421025e+05) },
{ SC_(-1.3547703125000000000000000000000000000000e+04), SC_(1.9048019409179687500000000000000000000000e+01), SC_(1.0184045000000000000000000000000000000000e+06), SC_(9.4629405159202272395915678225516122681401e+05) },
{ SC_(-1.3547703125000000000000000000000000000000e+04), SC_(1.2525126953125000000000000000000000000000e+03), SC_(1.0184045000000000000000000000000000000000e+06), SC_(9.3688973133492566757820217207352000341097e+05) },
{ SC_(-1.3547703125000000000000000000000000000000e+04), SC_(1.3586878906250000000000000000000000000000e+04), SC_(1.0184045000000000000000000000000000000000e+06), SC_(8.7446277169203106109796924659555060713845e+05) },
{ SC_(-9.0579218750000000000000000000000000000000e+03), SC_(-1.9048027038574218750000000000000000000000e+01), SC_(1.0184045000000000000000000000000000000000e+06), SC_(9.6688298171828874375273861390044247551743e+05) },
{ SC_(-9.0579218750000000000000000000000000000000e+03), SC_(-1.4533019566442817449569702148437500000000e-05), SC_(1.0184045000000000000000000000000000000000e+06), SC_(9.6666722997531120601011487507105430010096e+05) },
{ SC_(-9.0579218750000000000000000000000000000000e+03), SC_(-1.3700637846447705214814050123095512390137e-12), SC_(1.0184045000000000000000000000000000000000e+06), SC_(9.6668340684254033486118530729317141358950e+05) },
{ SC_(-9.0579218750000000000000000000000000000000e+03), SC_(-3.3155109687541623089560190279014670459804e-31), SC_(1.0184045000000000000000000000000000000000e+06), SC_(9.6672627220485394599937265979219498580831e+05) },
{ SC_(-9.0579218750000000000000000000000000000000e+03), SC_(1.3700637846447705214814050123095512390137e-12), SC_(1.0184045000000000000000000000000000000000e+06), SC_(9.6668340684254029539801296656350641154670e+05) },
{ SC_(-9.0579218750000000000000000000000000000000e+03), SC_(1.4533015928464010357856750488281250000000e-05), SC_(1.0184045000000000000000000000000000000000e+06), SC_(9.6666722955695402505125318558322967174190e+05) },
{ SC_(-9.0579218750000000000000000000000000000000e+03), SC_(1.2525126953125000000000000000000000000000e+03), SC_(1.0184045000000000000000000000000000000000e+06), SC_(9.5701934252716927944192865356541742242546e+05) },
{ SC_(-9.0579218750000000000000000000000000000000e+03), SC_(1.3586878906250000000000000000000000000000e+04), SC_(1.0184045000000000000000000000000000000000e+06), SC_(8.9453568573877958811748820220257536989124e+05) },
{ SC_(1.3547699218750000000000000000000000000000e+04), SC_(-1.3586878906250000000000000000000000000000e+04), SC_(1.0437607421875000000000000000000000000000e+03), SC_(-4.5982546021529254789360181932356973473932e+02) },
{ SC_(1.3547699218750000000000000000000000000000e+04), SC_(-1.2525131835937500000000000000000000000000e+03), SC_(1.5873352050781250000000000000000000000000e+01), SC_(2.4601948495381566172893072659462358596570e+02) },
{ SC_(-9.0579218750000000000000000000000000000000e+03), SC_(-1.2525131835937500000000000000000000000000e+03), SC_(1.0184045000000000000000000000000000000000e+06), SC_(9.7628686898533426371240091663512627579803e+05) },
{ SC_(-9.0579218750000000000000000000000000000000e+03), SC_(3.3155100283586816511260126529122372681838e-31), SC_(1.0184045000000000000000000000000000000000e+06), SC_(9.6672627220513758119855760758532938338455e+05) },
{ SC_(-9.0579218750000000000000000000000000000000e+03), SC_(1.9048019409179687500000000000000000000000e+01), SC_(1.0184045000000000000000000000000000000000e+06), SC_(9.6642929255030913499877606007957533590963e+05) },
{ SC_(9.0579179687500000000000000000000000000000e+03), SC_(-1.2220855000000000000000000000000000000000e+06), SC_(1.0184045000000000000000000000000000000000e+06), SC_(2.0766743928534209945155627434937476192183e+06) },
}};
//#undef SC_

View File

@@ -62,7 +62,7 @@ void expected_results()
".*", // platform
"dec_40", // test type(s)
"Large.*", // test data group
".*", 20000000L, 600000L); // test function
".*", 200000000L, 20000000L); // test function
add_expected_result(
".*", // compiler
".*", // stdlib