Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r50686 - in sandbox/math_toolkit: boost/math/distributions/detail libs/math/test
From: john_at_[hidden]
Date: 2009-01-20 11:58:53


Author: johnmaddock
Date: 2009-01-20 11:58:52 EST (Tue, 20 Jan 2009)
New Revision: 50686
URL: http://svn.boost.org/trac/boost/changeset/50686

Log:
Fix some compiler issues, and mostly get the quantiles working better (round-to-nearest now works).
Text files modified:
   sandbox/math_toolkit/boost/math/distributions/detail/hypergeometric_pdf.hpp | 6
   sandbox/math_toolkit/boost/math/distributions/detail/hypergeometric_quantile.hpp | 66 +++++++++++------
   sandbox/math_toolkit/libs/math/test/hypergeometric_dist_data2.ipp | 144 ++++++++++++++++++++--------------------
   sandbox/math_toolkit/libs/math/test/hypergeometric_test_data.ipp | 4
   sandbox/math_toolkit/libs/math/test/test_hypergeometric_dist.cpp | 89 ++++++++++++++++++++++++
   5 files changed, 208 insertions(+), 101 deletions(-)

Modified: sandbox/math_toolkit/boost/math/distributions/detail/hypergeometric_pdf.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/distributions/detail/hypergeometric_pdf.hpp (original)
+++ sandbox/math_toolkit/boost/math/distributions/detail/hypergeometric_pdf.hpp 2009-01-20 11:58:52 EST (Tue, 20 Jan 2009)
@@ -45,7 +45,7 @@
 };
 
 template <class T, class Lanczos, class Policy>
-T hypergeometric_pdf_lanczos_imp(unsigned x, unsigned r, unsigned n, unsigned N, const Lanczos&, const Policy&)
+T hypergeometric_pdf_lanczos_imp(T /*dummy*/, unsigned x, unsigned r, unsigned n, unsigned N, const Lanczos&, const Policy&)
 {
    BOOST_MATH_STD_USING
 
@@ -130,7 +130,7 @@
 }
 
 template <class T, class Policy>
-T hypergeometric_pdf_lanczos_imp(unsigned x, unsigned r, unsigned n, unsigned N, const boost::math::lanczos::undefined_lanczos&, const Policy& pol)
+T hypergeometric_pdf_lanczos_imp(T /*dummy*/, unsigned x, unsigned r, unsigned n, unsigned N, const boost::math::lanczos::undefined_lanczos&, const Policy& pol)
 {
    BOOST_MATH_STD_USING
    return exp(
@@ -378,7 +378,7 @@
       // (almost as quick as using logarithmic evaluation in terms of lgamma)
       // but only a few digits better in accuracy than using lgamma:
       //
- result = detail::hypergeometric_pdf_lanczos_imp<value_type>(x, r, n, N, evaluation_type(), forwarding_policy());
+ result = detail::hypergeometric_pdf_lanczos_imp(value_type(), x, r, n, N, evaluation_type(), forwarding_policy());
    }
 
    if(result > 1)

Modified: sandbox/math_toolkit/boost/math/distributions/detail/hypergeometric_quantile.hpp
==============================================================================
--- sandbox/math_toolkit/boost/math/distributions/detail/hypergeometric_quantile.hpp (original)
+++ sandbox/math_toolkit/boost/math/distributions/detail/hypergeometric_quantile.hpp 2009-01-20 11:58:52 EST (Tue, 20 Jan 2009)
@@ -14,11 +14,11 @@
 namespace boost{ namespace math{ namespace detail{
 
 template <class T>
-inline unsigned round_x_from_p(unsigned x, T p, T cum, T fudge_factor, const policies::discrete_quantile<policies::integer_round_down>&)
+inline unsigned round_x_from_p(unsigned x, T p, T cum, T /*fudge_factor*/, const policies::discrete_quantile<policies::integer_round_down>&)
 {
- if(p * fudge_factor <= cum)
- return x;
- return --x;
+ if(p < cum)
+ return --x;
+ return x;
 }
 
 template <class T>
@@ -32,46 +32,60 @@
 template <class T>
 inline unsigned round_x_from_p(unsigned x, T p, T cum, T fudge_factor, const policies::discrete_quantile<policies::integer_round_inwards>&)
 {
- if((p > 0.5) && (p * fudge_factor <= cum))
- return --x;
- return x;
+ if(p >= 0.5)
+ return round_x_from_p(x, p, cum, fudge_factor, policies::discrete_quantile<policies::integer_round_down>());
+ return round_x_from_p(x, p, cum, fudge_factor, policies::discrete_quantile<policies::integer_round_up>());
 }
 
 template <class T>
 inline unsigned round_x_from_p(unsigned x, T p, T cum, T fudge_factor, const policies::discrete_quantile<policies::integer_round_outwards>&)
 {
- if((p < 0.5) && (p * fudge_factor <= cum))
- return --x;
+ if(p >= 0.5)
+ return round_x_from_p(x, p, cum, fudge_factor, policies::discrete_quantile<policies::integer_round_up>());
+ return round_x_from_p(x, p, cum, fudge_factor, policies::discrete_quantile<policies::integer_round_down>());
+}
+
+template <class T>
+inline unsigned round_x_from_p(unsigned x, T /*p*/, T /*cum*/, T /*fudge_factor*/, const policies::discrete_quantile<policies::integer_round_nearest>&)
+{
    return x;
 }
 
 template <class T>
-inline unsigned round_x_from_q(unsigned x, T /*q*/, T /*cum*/, T /*fudge_factor*/, const policies::discrete_quantile<policies::integer_round_down>&)
+inline unsigned round_x_from_q(unsigned x, T q, T cum, T /*fudge_factor*/, const policies::discrete_quantile<policies::integer_round_down>&)
 {
+ if(q > cum)
+ return --x;
    return x;
 }
 
 template <class T>
-inline unsigned round_x_from_q(unsigned x, T q, T cum, T fudge_factor, const policies::discrete_quantile<policies::integer_round_up>&)
+inline unsigned round_x_from_q(unsigned x, T q, T cum, T /*fudge_factor*/, const policies::discrete_quantile<policies::integer_round_up>&)
 {
- if((q * fudge_factor <= cum) && (q < 0.5))
- return ++x;
+ if(q < cum)
+ return --x;
    return x;
 }
 
 template <class T>
 inline unsigned round_x_from_q(unsigned x, T q, T cum, T fudge_factor, const policies::discrete_quantile<policies::integer_round_inwards>&)
 {
- if((q > 0.5) && (q * fudge_factor <= cum))
- return ++x;
- return x;
+ if(q < 0.5)
+ return round_x_from_q(x, q, cum, fudge_factor, policies::discrete_quantile<policies::integer_round_down>());
+ return round_x_from_q(x, q, cum, fudge_factor, policies::discrete_quantile<policies::integer_round_up>());
 }
 
 template <class T>
 inline unsigned round_x_from_q(unsigned x, T q, T cum, T fudge_factor, const policies::discrete_quantile<policies::integer_round_outwards>&)
 {
- if((q < 0.5) && (q * fudge_factor <= cum))
- return ++x;
+ if(q >= 0.5)
+ return round_x_from_q(x, q, cum, fudge_factor, policies::discrete_quantile<policies::integer_round_down>());
+ return round_x_from_q(x, q, cum, fudge_factor, policies::discrete_quantile<policies::integer_round_up>());
+}
+
+template <class T>
+inline unsigned round_x_from_q(unsigned x, T /*q*/, T /*cum*/, T /*fudge_factor*/, const policies::discrete_quantile<policies::integer_round_nearest>&)
+{
    return x;
 }
 
@@ -92,13 +106,17 @@
       unsigned x = base;
       result = hypergeometric_pdf<T>(x, r, n, N, pol);
       T diff = result;
- while(result * fudge_factor < p)
+ while(result < p)
       {
- diff = (n - x) * (r - x) * diff / ((x + 1) * (N + x + 1 - n - r));
+ diff = (diff > tools::min_value<T>())
+ ? T(n - x) * T(r - x) * diff / (T(x + 1) * T(N + x + 1 - n - r))
+ : hypergeometric_pdf<T>(x + 1, r, n, N, pol);
+ if(result + diff / 2 > p)
+ break;
          ++x;
          result += diff;
       }
- return x == base ? x : round_x_from_p(x, p, fudge_factor, result, discrete_quantile_type());
+ return x == base ? x : round_x_from_p(x, p, result, fudge_factor, discrete_quantile_type());
    }
    else
    {
@@ -106,10 +124,12 @@
       unsigned x = lim;
       result = 0;
       T diff = hypergeometric_pdf<T>(x, r, n, N, pol);
- while(result * fudge_factor <= q)
+ while(result + diff / 2 < q)
       {
          result += diff;
- diff = x * (N + x - n - r) * diff / ((1 + n - x) * (1 + r - x));
+ diff = (diff > tools::min_value<T>())
+ ? x * T(N + x - n - r) * diff / (T(1 + n - x) * T(1 + r - x))
+ : hypergeometric_pdf<T>(x - 1, r, n, N, pol);
          --x;
       }
       return x == lim ? x : round_x_from_q(x, q, result, fudge_factor, discrete_quantile_type());

Modified: sandbox/math_toolkit/libs/math/test/hypergeometric_dist_data2.ipp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/hypergeometric_dist_data2.ipp (original)
+++ sandbox/math_toolkit/libs/math/test/hypergeometric_dist_data2.ipp 2009-01-20 11:58:52 EST (Tue, 20 Jan 2009)
@@ -891,7 +891,7 @@
       { SC_(2247), SC_(2247), SC_(523360), SC_(758), SC_(0.1314288728332476179003692727678745967661447235940846380360534361317661721701474861079553891189139096e-1236), SC_(1), SC_(0.7430022105271453831680864662221366797785641471154195115130353698149695392194058759131858975214059771e-1239) },
       { SC_(2247), SC_(2247), SC_(1030167), SC_(1635), SC_(0.6420423929295372497620496364510509042510728991516169767884295479287001264299973321616575742716617789e-4145), SC_(1), SC_(0.1431128321008358847363612995509809029788626271188873648295458702035182621805712777381646593434910125e-4148) },
       { SC_(2247), SC_(2247), SC_(2063277), SC_(1703), SC_(0.3656207725056775965236288933952161205969250650245331286944943219981706395759873566074988812686594066e-4911), SC_(1), SC_(0.3081950384907155010667747225068327189342354940142960220930266759244869813247744583942167736818249016e-4915) },
- { SC_(2247), SC_(2247), SC_(2427690), SC_(2162), SC_(0.1527978215032293192365904125989012456915733863632512884666738201831137390038682299553338292561912781e-7219), SC_(1), SC_(0.210437457760999598884326987601636894905850233465146310254828507989206975112224126654426077074407763e-7225) },
+ { SC_(2247), SC_(2247), SC_(2427690), SC_(2162), SC_(BOOST_MATH_SMALL_CONSTANT(BOOST_MATH_SMALL_CONSTANT(0.1527978215032293192365904125989012456915733863632512884666738201831137390038682299553338292561912781e-7219))), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(BOOST_MATH_SMALL_CONSTANT(0.210437457760999598884326987601636894905850233465146310254828507989206975112224126654426077074407763e-7225))) },
       { SC_(6337), SC_(3), SC_(10473), SC_(1), SC_(0.2831210166665693515297756414013373367417418453187539845091606454867305392404794311327016711132090281), SC_(0.3446865462494212635398799232146627036393464315345095456033098279832927426606120895043069895279166249), SC_(0.6553134537505787364601200767853372963606535684654904543966901720167072573393879104956930104720833751) },
       { SC_(6337), SC_(3), SC_(19470), SC_(1), SC_(0.4442923607448364258928151017923742447731552860384267616293183109341558734931947701153251293996691202), SC_(0.7511674850907649466649236232607697109830496661852145059328572484375171261805410710139803434413847174), SC_(0.2488325149092350533350763767392302890169503338147854940671427515624828738194589289860196565586152826) },
       { SC_(6337), SC_(3), SC_(50688), SC_(3), SC_(0.001953240553553594360828622025326401075681097409553902095619322342291818670162726868104313963641051649), SC_(1), SC_(0) },
@@ -993,13 +993,13 @@
       { SC_(6337), SC_(2247), SC_(2427690), SC_(443), SC_(0.4020652419790875229378219431936309242768339191859030416429293456026502677733062267268917183270279877e-670), SC_(1), SC_(0.401913395716956765433689012533309296516228599266181728989382780065231457782389098591899732235114037e-672) },
       { SC_(6337), SC_(6337), SC_(10473), SC_(3512), SC_(0.1075158294207301010411781531538659458932338222460333703004934510542264272108473853245906808828752413e-39), SC_(0.2530733025350785248477348050571011715167560248436910021310119277706711360070744847184354227108024569e-39), SC_(0.9999999999999999999999999999999999999997469266974649214751522651949428988284832439751563089978689881) },
       { SC_(6337), SC_(6337), SC_(19470), SC_(1533), SC_(0.2053434338376577787504764255141811656840931198063906353196009580560251118344198161195265752024622155e-68), SC_(0.4585837513963347476084213781290062906307879583288439449299823998689792923767941048950654372054776141e-68), SC_(0.9999999999999999999999999999999999999999999999999999999999999999999954141624860366525239157862187099) },
- { SC_(6337), SC_(6337), SC_(50688), SC_(5876), SC_(0.6515066163384563961717634577219344037592322980208202233566676280000099035064587249378940801448388782e-6465), SC_(1), SC_(0.5372121820056628965811434917359692874695743803767926856153661889000867369365305334985537474872238863e-6468) },
+ { SC_(6337), SC_(6337), SC_(50688), SC_(5876), SC_(BOOST_MATH_SMALL_CONSTANT(BOOST_MATH_SMALL_CONSTANT(0.6515066163384563961717634577219344037592322980208202233566676280000099035064587249378940801448388782e-6465))), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(BOOST_MATH_SMALL_CONSTANT(0.5372121820056628965811434917359692874695743803767926856153661889000867369365305334985537474872238863e-6468))) },
       { SC_(6337), SC_(6337), SC_(130605), SC_(2780), SC_(0.2266781144510476905821751424706563147588960341068831608697841509373395108742421230726359302580716208e-2114), SC_(1), SC_(0.8877569305555708097469801159669545801080824858122910106211607733753935639057819958081870242690647487e-2116) },
       { SC_(6337), SC_(6337), SC_(256574), SC_(2001), SC_(0.2900848799817021783347582106541251720559161237806028490509927401459835758266175011499166204133293363e-1685), SC_(1), SC_(0.115178399664021698658200161602457969216178981253858678525296060759286214372753749398615069418980388e-1686) },
       { SC_(6337), SC_(6337), SC_(523360), SC_(1652), SC_(0.1897429507058017280881689418627397155452314427006952658160768306430341193774272502572599854520131886e-1709), SC_(1), SC_(0.5048315205298606840851698404182809753195856733746507949341338572707442087109927625277089312941640637e-1711) },
- { SC_(6337), SC_(6337), SC_(1030167), SC_(5582), SC_(0.3157412878853225008829814429556694982647712064685422515600990116998872804529128707466977458661523105e-13058), SC_(1), SC_(0.3151323409973385424099693390050400936383991895832342882411393383196803591736643365545908226489944238e-13062) },
- { SC_(6337), SC_(6337), SC_(2063277), SC_(3795), SC_(0.3307029462850956124299085585403372779592382713739154493782255168338428908267574905716830560767895694e-8323), SC_(1), SC_(0.2742444079959298033325930824744780413732051397065120236877882054125587366545066790536954035515611739e-8326) },
- { SC_(6337), SC_(6337), SC_(2427690), SC_(4513), SC_(0.2790484143431446955943293753525213523673713453321748617112143524188004797921239641006247685429079077e-10980), SC_(1), SC_(0.8502933861884789353211170629645403171440919813867985275997464351295114414046202286918540081908776713e-10984) },
+ { SC_(6337), SC_(6337), SC_(1030167), SC_(5582), SC_(BOOST_MATH_SMALL_CONSTANT(0.3157412878853225008829814429556694982647712064685422515600990116998872804529128707466977458661523105e-13058)), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(0.3151323409973385424099693390050400936383991895832342882411393383196803591736643365545908226489944238e-13062)) },
+ { SC_(6337), SC_(6337), SC_(2063277), SC_(3795), SC_(BOOST_MATH_SMALL_CONSTANT(0.3307029462850956124299085585403372779592382713739154493782255168338428908267574905716830560767895694e-8323)), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(0.2742444079959298033325930824744780413732051397065120236877882054125587366545066790536954035515611739e-8326)) },
+ { SC_(6337), SC_(6337), SC_(2427690), SC_(4513), SC_(BOOST_MATH_SMALL_CONSTANT(BOOST_MATH_SMALL_CONSTANT(0.2790484143431446955943293753525213523673713453321748617112143524188004797921239641006247685429079077e-10980))), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(BOOST_MATH_SMALL_CONSTANT(0.8502933861884789353211170629645403171440919813867985275997464351295114414046202286918540081908776713e-10984))) },
       { SC_(10473), SC_(3), SC_(19470), SC_(3), SC_(0.1556173310068632272396262534435913088820963646270489556137261226354336275561956691012756080869528012), SC_(1), SC_(0) },
       { SC_(10473), SC_(3), SC_(50688), SC_(1), SC_(0.3901826397306986710584784862073885753383652619069096382758681088433509985401516538659639091905878134), SC_(0.8895751885543590567892336141827447859141850612978055065080678688903822122737242837049787308042963254), SC_(0.1104248114456409432107663858172552140858149387021944934919321311096177877262757162950212691957036746) },
       { SC_(10473), SC_(3), SC_(130605), SC_(1), SC_(0.2035338853923006756882000288520184386040625139162672747462517296809449641908869053567392855243697535), SC_(0.9817421559348730099580198660840428515231888322828985397536428072694676642748131950165386778066278581), SC_(0.01825784406512699004198013391595714847681116771710146024635719273053233572518680498346132219337214194) },
@@ -1090,19 +1090,19 @@
       { SC_(10473), SC_(2247), SC_(2427690), SC_(1130), SC_(0.6619685297940856211573826736611136034423488412330288773252320335982491657796113592378492652146758556e-2027), SC_(1), SC_(0.2537802478266899294428381315186340650960704627133415890246949968638483976621438984929601062822126701e-2029) },
       { SC_(10473), SC_(6337), SC_(19470), SC_(6149), SC_(0.3389625652317688290864418372188657311369405886025935045167528196007009439598879315388692039367724169e-1856), SC_(1), SC_(0.516262349851222795824008212674787255949291965446973227090552396978789367029852982460475925658831783e-1858) },
       { SC_(10473), SC_(6337), SC_(50688), SC_(4202), SC_(0.6970470540620002904065534050464836094997728174390752260341085134621401670001263381951650314871528147e-1609), SC_(1), SC_(0.6362520239484871583193378389239851052363846409514744182170427465700071061282355334262837358108248406e-1610) },
- { SC_(10473), SC_(6337), SC_(130605), SC_(6329), SC_(0.4358652987584007202257896858534549119423424915348602556700871963302970495430636148619036902144573757e-7922), SC_(1), SC_(0.1900384495520811308655204878486430921457113124741692643277437965039981178948987173638121323946922506e-7926) },
+ { SC_(10473), SC_(6337), SC_(130605), SC_(6329), SC_(BOOST_MATH_SMALL_CONSTANT(0.4358652987584007202257896858534549119423424915348602556700871963302970495430636148619036902144573757e-7922)), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(0.1900384495520811308655204878486430921457113124741692643277437965039981178948987173638121323946922506e-7926)) },
       { SC_(10473), SC_(6337), SC_(256574), SC_(2691), SC_(0.4692959981235794128708386023553660284784019214666094745453882019284895097793200498135761519062990587e-2072), SC_(1), SC_(0.2132713745443410781242112118603533758191923653549683230892783480087824780034601081749531474271857777e-2073) },
       { SC_(10473), SC_(6337), SC_(523360), SC_(3160), SC_(0.3509518614018862437790644434154992688942782237974764233995109072919933346000633216367906579505569893e-3709), SC_(1), SC_(0.5134698871620745736238886222343807692688146631244280310915657388410482106303628446305656112788932919e-3711) },
       { SC_(10473), SC_(6337), SC_(1030167), SC_(907), SC_(0.165889090615039873939631279604814613427453540596492487591191730124400494388755683356826468496984924e-718), SC_(1), SC_(0.9914833455754618112979481835649961694268039091902648448579792393681477629517588567889571999149662392e-720) },
       { SC_(10473), SC_(6337), SC_(2063277), SC_(1927), SC_(0.2653053593883414455411879784790505097466683741721199813388732190571541778833410484661320423752387186e-2822), SC_(1), SC_(0.2556156588918498057704488229139203773130914745191083182437570400111441312435573218499384550900373611e-2824) },
- { SC_(10473), SC_(6337), SC_(2427690), SC_(5162), SC_(0.6252171049267233204191735061666134485707046527865005168429981340522450183597520471780517806395575426e-11565), SC_(1), SC_(0.3129358268803765378275868415626970192243324364573134933382485603576794179207883726753521964382172603e-11568) },
+ { SC_(10473), SC_(6337), SC_(2427690), SC_(5162), SC_(BOOST_MATH_SMALL_CONSTANT(0.6252171049267233204191735061666134485707046527865005168429981340522450183597520471780517806395575426e-11565)), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(0.3129358268803765378275868415626970192243324364573134933382485603576794179207883726753521964382172603e-11568)) },
       { SC_(10473), SC_(10473), SC_(19470), SC_(10222), SC_(0.232176076494910574627491618848872550158244106810655170103294645593622818122737427278278410667702451e-4825), SC_(1), SC_(0.1636933403548001657973800880912164524245845127505268602908100804547350633633034114682340681374520837e-4828) },
- { SC_(10473), SC_(10473), SC_(50688), SC_(8695), SC_(0.5599835536704939070078365520614185454795258686134727114491288031301984616048241967729772448492083996e-5981), SC_(1), SC_(0.5346629944552498186245479477139475041960866359542513860676367946862886040159275682955316718632231764e-5983) },
- { SC_(10473), SC_(10473), SC_(130605), SC_(8356), SC_(0.8470087940293155166578665437576866760914885543706746013129152278946538347531119068129483778786781697e-8926), SC_(1), SC_(0.386646597984919876751741241600890685536659858718829399763342629543608830607390340705304275696806045e-8928) },
+ { SC_(10473), SC_(10473), SC_(50688), SC_(8695), SC_(BOOST_MATH_SMALL_CONSTANT(0.5599835536704939070078365520614185454795258686134727114491288031301984616048241967729772448492083996e-5981)), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(0.5346629944552498186245479477139475041960866359542513860676367946862886040159275682955316718632231764e-5983)) },
+ { SC_(10473), SC_(10473), SC_(130605), SC_(8356), SC_(BOOST_MATH_SMALL_CONSTANT(0.8470087940293155166578665437576866760914885543706746013129152278946538347531119068129483778786781697e-8926)), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(0.386646597984919876751741241600890685536659858718829399763342629543608830607390340705304275696806045e-8928)) },
       { SC_(10473), SC_(10473), SC_(256574), SC_(4427), SC_(0.3514427930804025423763954720854603366597323066849774767077897163299965210006739237660000186926559597e-3581), SC_(1), SC_(0.1251582388507550852508965517277196668848768130829506498596150700755097191053684439730659150019647233e-3582) },
       { SC_(10473), SC_(10473), SC_(523360), SC_(2743), SC_(0.504270955429900770438109090048491453486599933371325104290466937499829733144917406266852548661570009e-2265), SC_(1), SC_(0.2271618727269752249645213900494422046475776467017347629948838560449257547299867545456805858983955468e-2266) },
       { SC_(10473), SC_(10473), SC_(1030167), SC_(1840), SC_(0.3527529968092875050953921861289275622725779971993119535362757176989405962456747351663332336698247924e-1660), SC_(1), SC_(0.1471278062711829984904788013738329116989710513192869791301438012551506320700258584304706293857378659e-1661) },
- { SC_(10473), SC_(10473), SC_(2063277), SC_(6550), SC_(0.7970331005886673655672024634426030425282082568179511324599500165732380396567208730918925299601243268e-13193), SC_(1), SC_(0.9149267908611955742113708185129115471611093036511846654405945196656014450931710673179923310935994776e-13196) },
+ { SC_(10473), SC_(10473), SC_(2063277), SC_(6550), SC_(BOOST_MATH_SMALL_CONSTANT(0.7970331005886673655672024634426030425282082568179511324599500165732380396567208730918925299601243268e-13193)), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(0.9149267908611955742113708185129115471611093036511846654405945196656014450931710673179923310935994776e-13196)) },
       { SC_(10473), SC_(10473), SC_(2427690), SC_(2865), SC_(0.7061711765528215415140537522186488982266631488315721139755523130347396468536346162661062166038264485e-4307), SC_(1), SC_(0.5968719023791774414389271090477348120461526899071619354497127249533515310282702345811674292035990173e-4309) },
       { SC_(19470), SC_(3), SC_(50688), SC_(2), SC_(0.2726127509746102753275935067358178538493769715306106751561291219726854452175294385343073889183562491), SC_(0.9433315711451330125773849446992877829164833228505143547105353562414393379087400099367256470896858708), SC_(0.05666842885486698742261505530071221708351667714948564528946464375856066209125999006327435291031412921) },
       { SC_(19470), SC_(3), SC_(130605), SC_(2), SC_(0.05672993297660790697626696784512705849469250246585994438090714075840689082799501781857472597029820584), SC_(0.9966874571911380971100794369310330271748333899071538777246666960108068565685303497903878087046400878), SC_(0.003312542808861902889920563068966972825166610092846122275333303989193143431469650209612191295359912208) },
@@ -1185,23 +1185,23 @@
       { SC_(19470), SC_(6337), SC_(130605), SC_(2991), SC_(0.7448997128386292057978802219695482964229460740272024847689442086716967966504280668622163341884401806e-865), SC_(1), SC_(0.1535916979148232989441429534923433255934243904426417942967453983944561882075132699763070411565227551e-865) },
       { SC_(19470), SC_(6337), SC_(256574), SC_(547), SC_(0.0001416727725887365638895682254246118116389318947674783794905206026765392144078128095176014103058929108), SC_(0.9991662848140923475988238453780360381433640808415059683771252586656774096509760515032622058321696786), SC_(0.0008337151859076524011761546219639618566359191584940316228747413343225903490239484967377941678303214019) },
       { SC_(19470), SC_(6337), SC_(523360), SC_(4336), SC_(0.1510467978369016015109342981921083931387236847811407181680377287284441996764123477267772099332623795e-4728), SC_(1), SC_(0.2131051427177858975529983166210216525206733828504770597305316224645940075567541118921361604056007946e-4730) },
- { SC_(19470), SC_(6337), SC_(1030167), SC_(5554), SC_(0.2211782118280954899398722497746693543761959609144897826511423685812385086640058543118164969819179618e-8925), SC_(1), SC_(0.4304202310799274755480807895729759316481699418880424705685756365777012924467590609649237095478407582e-8928) },
+ { SC_(19470), SC_(6337), SC_(1030167), SC_(5554), SC_(BOOST_MATH_SMALL_CONSTANT(0.2211782118280954899398722497746693543761959609144897826511423685812385086640058543118164969819179618e-8925)), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(0.4304202310799274755480807895729759316481699418880424705685756365777012924467590609649237095478407582e-8928)) },
       { SC_(19470), SC_(6337), SC_(2063277), SC_(179), SC_(0.23049766659072476426347807323879638114185308974658212599581684909450476497275899453966049664563543e-35), SC_(0.9999999999999999999999999999999999989002472647743172886530766442298171664567391983336481993119822617), SC_(0.1099752735225682711346923355770182833543260801666351800688017738293596159309907276422047256950945498e-35) },
       { SC_(19470), SC_(6337), SC_(2427690), SC_(584), SC_(0.1618130303195943219798130494053412171339853886101722725477273212413777540426749179431594915149849366e-402), SC_(1), SC_(0.1355504994218256111771589554864178440269876545744599576666993147564602076800756782480286809111793953e-403) },
       { SC_(19470), SC_(10473), SC_(50688), SC_(9830), SC_(0.9674418290489920451976747997725067045241047911961998489425286072267279013317877302465941766013081149e-3995), SC_(1), SC_(0.2036887173715511213652506529108111299792292172403127798672855073147844650668137093048567641999105383e-3996) },
       { SC_(19470), SC_(10473), SC_(130605), SC_(2826), SC_(0.6042565740689057491941436065915365178802514337134171038823908401553588340278317898428935575569488264e-245), SC_(1), SC_(0.464948537289295645995813806870861105884351602807747909628101114159172059003092137052035957210474223e-245) },
       { SC_(19470), SC_(10473), SC_(256574), SC_(1346), SC_(0.4877269032479976797112013889919334364516178940851092435206821928608045038012789457585352463283300296e-81), SC_(0.9999999999999999999999999999999999999999999999999999999999999999999999999999999994318142528090597423), SC_(0.5681857471909402577319579368402385134212832724504564685579563299193176894807768023611274710360377139e-81) },
- { SC_(19470), SC_(10473), SC_(523360), SC_(6388), SC_(0.6303134846919213437841022939979920932617077774400766221604728935833519013708250331645118378225461069e-6635), SC_(1), SC_(0.1072789140625584948950488568147950074169717674995394311513479950799639417359143617608491001413400413e-6636) },
+ { SC_(19470), SC_(10473), SC_(523360), SC_(6388), SC_(BOOST_MATH_SMALL_CONSTANT(0.6303134846919213437841022939979920932617077774400766221604728935833519013708250331645118378225461069e-6635)), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(0.1072789140625584948950488568147950074169717674995394311513479950799639417359143617608491001413400413e-6636)) },
       { SC_(19470), SC_(10473), SC_(1030167), SC_(3514), SC_(0.4650856388543472697289528558391798649347298850141786159456023043137205429457245670680811885418303492e-3348), SC_(1), SC_(0.1511257026377704889634320407747334573407716544425454622191489849032441089867381115729474724175506626e-3349) },
- { SC_(19470), SC_(10473), SC_(2063277), SC_(8472), SC_(0.6956900609689648148217650251329914457768704602953205513843547177523375927186169684821696054403492272e-15889), SC_(1), SC_(0.8860885349294031341606035303204472376332105538153414293674597073212153296572512774747711263841723037e-15892) },
+ { SC_(19470), SC_(10473), SC_(2063277), SC_(8472), SC_(BOOST_MATH_SMALL_CONSTANT(0.6956900609689648148217650251329914457768704602953205513843547177523375927186169684821696054403492272e-15889)), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(0.8860885349294031341606035303204472376332105538153414293674597073212153296572512774747711263841723037e-15892)) },
       { SC_(19470), SC_(10473), SC_(2427690), SC_(182), SC_(0.4070887107163598936083521970978224822130584872142866304202468360697829029410106919538423518665583525e-20), SC_(0.9999999999999999999966652742843983511250920280548384823124510038682308338409990619496706117279726866), SC_(0.3334725715601648874907971945161517687548996131769166159000938050329388272027313419108738256829863514e-20) },
       { SC_(19470), SC_(19470), SC_(50688), SC_(4746), SC_(0.6607100518678935641853265259506252573604042967056871696668109915077111861127365375909589597914097709e-592), SC_(0.1033889106997365105405739591649103845135881907848742061592841344474400967498936204741949343400912385e-591), SC_(1) },
       { SC_(19470), SC_(19470), SC_(130605), SC_(1875), SC_(0.1098049870440035182462545335674644608369179591906586155318566652749932957723762772990390631402009315e-121), SC_(0.2529936334552406383388907989510614609667519778021028659998279579327795150094195469972190133355813522e-121), SC_(1) },
- { SC_(19470), SC_(19470), SC_(256574), SC_(18473), SC_(0.3848822366938353726164455132869798763440146331494985996562756798359228772224210931039818796481877363e-25421), SC_(1), SC_(0.8772943239345008224317975839135770677324328994940501722947823878497612450211539746553963584573220136e-25425) },
- { SC_(19470), SC_(19470), SC_(523360), SC_(8452), SC_(0.3604603631364207695817548195435641916380782590408907472004079120282110439177283889511834083089836194e-7317), SC_(1), SC_(0.108182147301235502073836221197841302010659233941400709234061094440201140629386934659298388801679249e-7318) },
- { SC_(19470), SC_(19470), SC_(1030167), SC_(19363), SC_(0.1080611857212819222084276245670534197494561030488028076326539747425279582091171956808322547723075413e-41172), SC_(1), SC_(0.632218257025464594202103529816284542305066219817521348362660503207424737471823211660327534873868408e-41179) },
- { SC_(19470), SC_(19470), SC_(2063277), SC_(13500), SC_(0.2920278119312893012530341750596659906313480384819292092416286142751784010571922875811482495409652887e-24916), SC_(1), SC_(0.3787913157856221516861511103786934523999935231044031321312587163056059836724464695326714571970190017e-24919) },
- { SC_(19470), SC_(19470), SC_(2427690), SC_(17286), SC_(0.9201368700077278393143795739107406517707243195765353662349833278138008505952242739916601213973402466e-38668), SC_(1), SC_(0.1055323299112794304018558695329323309417928194065627667687866236100040981130035910878490626560326449e-38671) },
+ { SC_(19470), SC_(19470), SC_(256574), SC_(18473), SC_(BOOST_MATH_SMALL_CONSTANT(0.3848822366938353726164455132869798763440146331494985996562756798359228772224210931039818796481877363e-25421)), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(0.8772943239345008224317975839135770677324328994940501722947823878497612450211539746553963584573220136e-25425)) },
+ { SC_(19470), SC_(19470), SC_(523360), SC_(8452), SC_(BOOST_MATH_SMALL_CONSTANT(0.3604603631364207695817548195435641916380782590408907472004079120282110439177283889511834083089836194e-7317)), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(0.108182147301235502073836221197841302010659233941400709234061094440201140629386934659298388801679249e-7318)) },
+ { SC_(19470), SC_(19470), SC_(1030167), SC_(19363), SC_(BOOST_MATH_SMALL_CONSTANT(0.1080611857212819222084276245670534197494561030488028076326539747425279582091171956808322547723075413e-41172)), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(0.632218257025464594202103529816284542305066219817521348362660503207424737471823211660327534873868408e-41179)) },
+ { SC_(19470), SC_(19470), SC_(2063277), SC_(13500), SC_(BOOST_MATH_SMALL_CONSTANT(0.2920278119312893012530341750596659906313480384819292092416286142751784010571922875811482495409652887e-24916)), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(0.3787913157856221516861511103786934523999935231044031321312587163056059836724464695326714571970190017e-24919)) },
+ { SC_(19470), SC_(19470), SC_(2427690), SC_(17286), SC_(BOOST_MATH_SMALL_CONSTANT(0.9201368700077278393143795739107406517707243195765353662349833278138008505952242739916601213973402466e-38668)), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(0.1055323299112794304018558695329323309417928194065627667687866236100040981130035910878490626560326449e-38671)) },
       { SC_(50688), SC_(3), SC_(130605), SC_(2), SC_(0.2764984720001450575702492722453106316861498889922581745280457138104943705337584119239780518561815989), SC_(0.9415451799917441329212155335617961356672372867122072573873371746082384632815937391403546831942910189), SC_(0.05845482000825586707878446643820386433276271328779274261266282539176153671840626085964531680570898105) },
       { SC_(50688), SC_(3), SC_(256574), SC_(2), SC_(0.09395436403009174213576567795533925386642885351932337182484824776729410769032854504124935787617654557), SC_(0.9922899551285189699770853463359264748105362306171369521251011752677100950254768789351446237023295924), SC_(0.007710044871481030022914653664073525189463769382863047874898824732289904974523121064855376297670407581) },
       { SC_(50688), SC_(3), SC_(523360), SC_(3), SC_(0.0009084283339470566362224572721458761635948007772398809867670825064565695072529491102509403131827176863), SC_(1), SC_(0) },
@@ -1276,22 +1276,22 @@
       { SC_(50688), SC_(6337), SC_(2427690), SC_(2545), SC_(0.9736934715805270406375226118159039151260698119631787834265533092089163830169563294724537814203662646e-2485), SC_(1), SC_(0.3033497048729743576393110181130406106727109611749605741359053387152229150380508505252449925339178692e-2486) },
       { SC_(50688), SC_(10473), SC_(130605), SC_(5592), SC_(0.2785191513785134033986022411189184153603464538929775812052509249224069205639313396930574138293815467e-217), SC_(1), SC_(0.306894457100004213585926772356829751085951883384625694936596193286828242206665984403922851752125969e-217) },
       { SC_(50688), SC_(10473), SC_(256574), SC_(3581), SC_(0.4371876976865122387900351475941039463271912507913014836367940914258376648337855692689559010840515797e-274), SC_(1), SC_(0.3654364313610882513864038087654891914933527977295139602246869799118571480131288719735830622130231546e-274) },
- { SC_(50688), SC_(10473), SC_(523360), SC_(10329), SC_(0.9187213071868954797061141103738131449813225440710356644695429524728836679723953800941852053708477683e-10596), SC_(1), SC_(0.1095144975439045128508551829904143672040284883421282653889175492346878852177494188486150532189350013e-10598) },
- { SC_(50688), SC_(10473), SC_(1030167), SC_(6695), SC_(0.8574428784197600013935801365268519236314495886889813386792426869831463095080122135215061173109542542e-6049), SC_(1), SC_(0.2238227904168495477814894519049047112063658171092890490751937705304305038962977508185697075131167679e-6050) },
+ { SC_(50688), SC_(10473), SC_(523360), SC_(10329), SC_(BOOST_MATH_SMALL_CONSTANT(0.9187213071868954797061141103738131449813225440710356644695429524728836679723953800941852053708477683e-10596)), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(0.1095144975439045128508551829904143672040284883421282653889175492346878852177494188486150532189350013e-10598)) },
+ { SC_(50688), SC_(10473), SC_(1030167), SC_(6695), SC_(BOOST_MATH_SMALL_CONSTANT(0.8574428784197600013935801365268519236314495886889813386792426869831463095080122135215061173109542542e-6049)), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(0.2238227904168495477814894519049047112063658171092890490751937705304305038962977508185697075131167679e-6050)) },
       { SC_(50688), SC_(10473), SC_(2063277), SC_(985), SC_(0.1038893043305132924971058993134930857459402698808777611090194898741609560450885963341197438722536372e-273), SC_(1), SC_(0.3257076303535239915873637404375881493075625880240821173439000846029753528518053237212793221095937461e-274) },
- { SC_(50688), SC_(10473), SC_(2427690), SC_(9617), SC_(0.8685563497510674603433198239849290641129017747115633411292255415976852726026459668605036465182552509e-15296), SC_(1), SC_(0.1338186671384293216373520269261752072046305605495429364997640157280935158290476905572242417247615517e-15298) },
+ { SC_(50688), SC_(10473), SC_(2427690), SC_(9617), SC_(BOOST_MATH_SMALL_CONSTANT(0.8685563497510674603433198239849290641129017747115633411292255415976852726026459668605036465182552509e-15296)), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(0.1338186671384293216373520269261752072046305605495429364997640157280935158290476905572242417247615517e-15298)) },
       { SC_(50688), SC_(19470), SC_(130605), SC_(3906), SC_(0.1136448073361652765729372360861900261319235847896468264628805135461850604997462244218295378951256123e-797), SC_(0.1735378415073763363528046464370220003081861918334199870180535753913441955644566502426869568935064481e-797), SC_(1) },
       { SC_(50688), SC_(19470), SC_(256574), SC_(7224), SC_(0.5756580306206841958399288117878792482130802504134133610464063192136401354466291393461256814192079598e-751), SC_(1), SC_(0.3533985870884177165609809919092198032909933787985312831230484797240014965791527954221111108741869478e-751) },
       { SC_(50688), SC_(19470), SC_(523360), SC_(2382), SC_(0.3182045701079864978526847142019869559022999170714136808929653595476183463307682305669805497406358151e-32), SC_(0.9999999999999999999999999999999899711442113659553897251233070776072449995001393135072963883114289883), SC_(0.1002885578863404461027487669292239275500049986068649270361168857101168143887929671776145224825639961e-31) },
       { SC_(50688), SC_(19470), SC_(1030167), SC_(5364), SC_(0.2114498134883001603226056389526279755252205603431069039950465242128791378540856389747338586240121859e-2441), SC_(1), SC_(0.2977655275872109800018448227737716845657463418141362594831149991408648202210951634956881692997961538e-2442) },
- { SC_(50688), SC_(19470), SC_(2063277), SC_(11441), SC_(0.1509853903270870936802635484938647844481142951185798601047363029719142289630141961763250751903331965e-13349), SC_(1), SC_(0.2103236900158731356196841216053575703186145954391727879329116757248008141335707263652220608455613207e-13351) },
+ { SC_(50688), SC_(19470), SC_(2063277), SC_(11441), SC_(BOOST_MATH_SMALL_CONSTANT(0.1509853903270870936802635484938647844481142951185798601047363029719142289630141961763250751903331965e-13349)), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(0.2103236900158731356196841216053575703186145954391727879329116757248008141335707263652220608455613207e-13351)) },
       { SC_(50688), SC_(19470), SC_(2427690), SC_(4866), SC_(0.3883884429092439964632911166840613140287259038053965706100313039934673720792472188444024568957229689e-3648), SC_(1), SC_(0.2400108941518520625449479920600319411084357100075119164256874162248980585743583088336218754327682661e-3649) },
- { SC_(50688), SC_(50688), SC_(130605), SC_(46223), SC_(0.3443067269148505778480030700985314157768169093651821148169166762598418380322455240566124656494015149e-23845), SC_(1), SC_(0.1979396386808494407850496257706113428034344394210735947592885012110960512901150591517716644829855898e-23847) },
+ { SC_(50688), SC_(50688), SC_(130605), SC_(46223), SC_(BOOST_MATH_SMALL_CONSTANT(0.3443067269148505778480030700985314157768169093651821148169166762598418380322455240566124656494015149e-23845)), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(0.1979396386808494407850496257706113428034344394210735947592885012110960512901150591517716644829855898e-23847)) },
       { SC_(50688), SC_(50688), SC_(256574), SC_(16273), SC_(0.1159720744568197975123418471084877540416304150721431728754470723580088383687225811875372757237866643e-1207), SC_(1), SC_(0.8550568670375097548114032966650537099884052933018818114404413426121714496576958238165121760482736096e-1208) },
- { SC_(50688), SC_(50688), SC_(523360), SC_(20674), SC_(0.419480940082394086752609733598960520616618506545738091176401487278666947944642453478421082042933211e-8877), SC_(1), SC_(0.4579732894756637004550162011941316363474520104725206428826622002243174193914412371046171447709486282e-8878) },
- { SC_(50688), SC_(50688), SC_(1030167), SC_(17049), SC_(0.2334869537804768144778554432539282382440254266411758900236601125068549941671954741570430522816337625e-10099), SC_(1), SC_(0.176196755959116478043089022272457369305761946598086294101723970172516853039302801164206072470106248e-10100) },
- { SC_(50688), SC_(50688), SC_(2063277), SC_(47693), SC_(0.1309571810813476255934290861530654028023516893569609835983309435748925670963664516791458127563337275e-88623), SC_(1), SC_(0.1225720081608688720708171718316726630515550015657569958938378905276985438282384848240219585917089981e-88627) },
- { SC_(50688), SC_(50688), SC_(2427690), SC_(38180), SC_(0.120786417308213648360438112200887363983275073758493529667892959852615387107808026075588249453542258e-60732), SC_(1), SC_(0.209682060473765074456490562707219747653261712065270648841731318453704790197552697278749376201478259e-60735) },
+ { SC_(50688), SC_(50688), SC_(523360), SC_(20674), SC_(BOOST_MATH_SMALL_CONSTANT(0.419480940082394086752609733598960520616618506545738091176401487278666947944642453478421082042933211e-8877)), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(0.4579732894756637004550162011941316363474520104725206428826622002243174193914412371046171447709486282e-8878)) },
+ { SC_(50688), SC_(50688), SC_(1030167), SC_(17049), SC_(BOOST_MATH_SMALL_CONSTANT(0.2334869537804768144778554432539282382440254266411758900236601125068549941671954741570430522816337625e-10099)), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(0.176196755959116478043089022272457369305761946598086294101723970172516853039302801164206072470106248e-10100)) },
+ { SC_(50688), SC_(50688), SC_(2063277), SC_(47693), SC_(BOOST_MATH_SMALL_CONSTANT(BOOST_MATH_SMALL_CONSTANT(0.1309571810813476255934290861530654028023516893569609835983309435748925670963664516791458127563337275e-88623))), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(BOOST_MATH_SMALL_CONSTANT(0.1225720081608688720708171718316726630515550015657569958938378905276985438282384848240219585917089981e-88627))) },
+ { SC_(50688), SC_(50688), SC_(2427690), SC_(38180), SC_(BOOST_MATH_SMALL_CONSTANT(BOOST_MATH_SMALL_CONSTANT(0.120786417308213648360438112200887363983275073758493529667892959852615387107808026075588249453542258e-60732))), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(BOOST_MATH_SMALL_CONSTANT(0.209682060473765074456490562707219747653261712065270648841731318453704790197552697278749376201478259e-60735))) },
       { SC_(130605), SC_(3), SC_(256574), SC_(3), SC_(0.1318975042672631916351931594641949123343709616065456587677049240545315611688183642468941875234380504), SC_(1), SC_(0) },
       { SC_(130605), SC_(3), SC_(523360), SC_(1), SC_(0.4216230122650608141283913203772314662195951416703022601007813938539587944543746161100036926484732075), SC_(0.8442553845227319852968460152003464313233932368847177969264827957340656353733675391109427513550824493), SC_(0.1557446154772680147031539847996535686766067631152822030735172042659343646266324608890572486449175507) },
       { SC_(130605), SC_(3), SC_(1030167), SC_(2), SC_(0.04210629233596505946733790089798324254604568138083350534616786146070031274138959244722459105693253904), SC_(0.997962264562103911065750987009611601562300614400719091328622314263169889049803913054144016428282539), SC_(0.002037735437896088934249012990388398437699385599280908671377685736830110950196086945855983571717460979) },
@@ -1353,25 +1353,25 @@
       { SC_(130605), SC_(6337), SC_(2063277), SC_(576), SC_(0.3105330348299433522540108501069769571108046358629562196092439973586019494639386804844380614999041403e-17), SC_(0.9999999999999999936617268968266694775279068797745741046024632578935150731972320555981283740667878579), SC_(0.6338273103173330522472093120225425895397536742106484926802767944401871625933212142072746139524122932e-17) },
       { SC_(130605), SC_(6337), SC_(2427690), SC_(1380), SC_(0.7816700888056712221266610032167065061418705075661864271099668491276693820722216133959783960517839259e-432), SC_(1), SC_(0.1982542569009174155561185379631127729895562241806365854384051213271236944756360059169223963092291741e-432) },
       { SC_(130605), SC_(10473), SC_(256574), SC_(9695), SC_(0.9010075195065183696085738294172718645653890882341668685002209116809800088404664787003445646452643756e-1949), SC_(1), SC_(0.7567922871092420696956951600623934041336682428877490936244462135547460150932955676530717400600193842e-1950) },
- { SC_(130605), SC_(10473), SC_(523360), SC_(10362), SC_(0.4358181214402002142607028072285009146901462250972882740881941862990899600484915552561538579757361619e-6132), SC_(1), SC_(0.1434221835904815536631732832211112454992463375757505890764816985377288700273399142514139526182330432e-6134) },
+ { SC_(130605), SC_(10473), SC_(523360), SC_(10362), SC_(BOOST_MATH_SMALL_CONSTANT(0.4358181214402002142607028072285009146901462250972882740881941862990899600484915552561538579757361619e-6132)), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(0.1434221835904815536631732832211112454992463375757505890764816985377288700273399142514139526182330432e-6134)) },
       { SC_(130605), SC_(10473), SC_(1030167), SC_(1979), SC_(0.4855739499186646028057493146772010616292494033916647213349727143563569094513971392036526925431792965e-73), SC_(0.9999999999999999999999999999999999999999999999999999999999999999999999999212383571058995411318656697), SC_(0.7876164289410045886813433034454488091130852603959739886859204450577736954715304440720621812385767485e-73) },
       { SC_(130605), SC_(10473), SC_(2063277), SC_(5572), SC_(0.9274015087480661302944714669931034523352083521541004712368967078983147037008464833664008128246162656e-3720), SC_(1), SC_(0.5609541342704704625409806913869139703492939900003586162630208054028259988016182089636238703721119295e-3721) },
       { SC_(130605), SC_(10473), SC_(2427690), SC_(5104), SC_(0.1700406517017278519181240473072077937041512299257677529283610553821780194769650579193813526179993394e-3494), SC_(1), SC_(0.1039173309733529357281114408961811600848964509715159418226666105610219837742993441101748687236273164e-3495) },
       { SC_(130605), SC_(19470), SC_(256574), SC_(10089), SC_(0.000174790483627644275435507129155792663752936871659735039799762136902527990644290655643774042964670713), SC_(0.9961355092029389790348501344172074167559675168521610122609560314072250280228586299925941592576779667), SC_(0.003864490797061020965149865582792583244032483147838987739043968592774971977141370007405840742322033325) },
       { SC_(130605), SC_(19470), SC_(523360), SC_(350), SC_(0.3566079648473868300876322756512620436348984100404299645509136431389431339383341185604640475208017062e-1881), SC_(0.3763661747947054005018366656906212340526385448744136198734977983667239326618646880833011946875647892e-1881), SC_(1) },
- { SC_(130605), SC_(19470), SC_(1030167), SC_(16274), SC_(0.1891982296575014153940172351948672145660904570370911206537659970288097849667182575611827626527664464e-11393), SC_(1), SC_(0.4860636218353270329245707189202395533178127407655964794416236603150300021881840879216331656564269457e-11395) },
+ { SC_(130605), SC_(19470), SC_(1030167), SC_(16274), SC_(BOOST_MATH_SMALL_CONSTANT(0.1891982296575014153940172351948672145660904570370911206537659970288097849667182575611827626527664464e-11393)), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(0.4860636218353270329245707189202395533178127407655964794416236603150300021881840879216331656564269457e-11395)) },
       { SC_(130605), SC_(19470), SC_(2063277), SC_(6669), SC_(0.397112776821126134679975572482007415527581505488093091842744872370352726216170089366277141961471404e-2978), SC_(1), SC_(0.5615428413027271723889996891344585191828217305674581514553535957569749241798888081373373741233565738e-2979) },
- { SC_(130605), SC_(19470), SC_(2427690), SC_(10398), SC_(0.2079998308467482609802675113132241873441120503208421513681677138622678474699758975364149179041280737e-7734), SC_(1), SC_(0.9991176594322045092533789485590933465443097566195525589819363682849633068917129104183596717462808967e-7736) },
+ { SC_(130605), SC_(19470), SC_(2427690), SC_(10398), SC_(BOOST_MATH_SMALL_CONSTANT(0.2079998308467482609802675113132241873441120503208421513681677138622678474699758975364149179041280737e-7734)), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(0.9991176594322045092533789485590933465443097566195525589819363682849633068917129104183596717462808967e-7736)) },
       { SC_(130605), SC_(50688), SC_(256574), SC_(33241), SC_(0.6160804224902240107927962303003852396014614029399295734562749139976094335309527073405837948679083209e-1202), SC_(1), SC_(0.5481701927107839927340757940540170226366775518127728179520578765748097875738108378582148928746097884e-1202) },
- { SC_(130605), SC_(50688), SC_(523360), SC_(31042), SC_(0.5253313366296628408030516121270390031355190807644964268090615630096156765699368821101831599862986853e-7329), SC_(1), SC_(0.1067405858798952203893287763457911947829821148239824768874288447067638519751293529045266232482025549e-7329) },
- { SC_(130605), SC_(50688), SC_(1030167), SC_(48315), SC_(0.1994379620635970325397947203410189793755856240121120416939477428898457813830278945497175242006406462e-43241), SC_(1), SC_(0.9024790611895907614711865488287974673664710383020932546462505225716512649840888088642725978700055325e-43244) },
- { SC_(130605), SC_(50688), SC_(2063277), SC_(32630), SC_(0.1040590703284616190250472979390531174000092363859537279532049560221941776132680159074277411326678942e-26992), SC_(1), SC_(0.3032689239184277124472228382684589931088425584027083451589554965043149878308244959065900177659722502e-26994) },
- { SC_(130605), SC_(50688), SC_(2427690), SC_(35943), SC_(0.6787435089954051830424836633007623633519814846725202616479080730024695574291877420641003997994183706e-34870), SC_(1), SC_(0.1174819588629171374511582070918672034166022099647335499758314898800389954551210949783404548159850413e-34871) },
- { SC_(130605), SC_(130605), SC_(256574), SC_(107525), SC_(0.702962804677217809085202299484679286300091504638722394962297797667930891339333557987618068698922493e-24713), SC_(1), SC_(0.3555869147498304266943878872008882070591980635808844636948823168610339127169867026457252083194985519e-24714) },
+ { SC_(130605), SC_(50688), SC_(523360), SC_(31042), SC_(BOOST_MATH_SMALL_CONSTANT(0.5253313366296628408030516121270390031355190807644964268090615630096156765699368821101831599862986853e-7329)), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(0.1067405858798952203893287763457911947829821148239824768874288447067638519751293529045266232482025549e-7329)) },
+ { SC_(130605), SC_(50688), SC_(1030167), SC_(48315), SC_(BOOST_MATH_SMALL_CONSTANT(0.1994379620635970325397947203410189793755856240121120416939477428898457813830278945497175242006406462e-43241)), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(0.9024790611895907614711865488287974673664710383020932546462505225716512649840888088642725978700055325e-43244)) },
+ { SC_(130605), SC_(50688), SC_(2063277), SC_(32630), SC_(BOOST_MATH_SMALL_CONSTANT(0.1040590703284616190250472979390531174000092363859537279532049560221941776132680159074277411326678942e-26992)), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(0.3032689239184277124472228382684589931088425584027083451589554965043149878308244959065900177659722502e-26994)) },
+ { SC_(130605), SC_(50688), SC_(2427690), SC_(35943), SC_(BOOST_MATH_SMALL_CONSTANT(0.6787435089954051830424836633007623633519814846725202616479080730024695574291877420641003997994183706e-34870)), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(0.1174819588629171374511582070918672034166022099647335499758314898800389954551210949783404548159850413e-34871)) },
+ { SC_(130605), SC_(130605), SC_(256574), SC_(107525), SC_(BOOST_MATH_SMALL_CONSTANT(0.702962804677217809085202299484679286300091504638722394962297797667930891339333557987618068698922493e-24713)), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(0.3555869147498304266943878872008882070591980635808844636948823168610339127169867026457252083194985519e-24714)) },
       { SC_(130605), SC_(130605), SC_(523360), SC_(30520), SC_(0.1430021141435178534443296134780103423621148674445332279100658147537067977289471932510313028433844343e-53), SC_(0.1315394088731268261012403446954602956549988571248988918599386383120193830800282516037750090027323923e-52), SC_(0.9999999999999999999999999999999999999999999999999999868460591126873173898759655304539704345001142875) },
       { SC_(130605), SC_(130605), SC_(1030167), SC_(4770), SC_(0.9417885095491879442619554460240114259395554060088296595547012348152701051275143893307614342441098101e-3094), SC_(0.1227980829827546272846162220139579335497410008872854370038145300849111392722961106203200018702444418e-3093), SC_(1) },
- { SC_(130605), SC_(130605), SC_(2063277), SC_(35153), SC_(0.2654305085637607049857032534333766653893506725153242322492061425346160256633151314115694683386879564e-13287), SC_(1), SC_(0.4359359778447423964026678530157261774937353224287863707125675307638110952657243948052706448125036789e-13288) },
- { SC_(130605), SC_(130605), SC_(2427690), SC_(33018), SC_(0.5061199150478078401438977938647024840797039371488870016080982752508502891145010029803428952584010014e-13531), SC_(1), SC_(0.7638184273912717024779981684672764232263741109194441221400782341853654408023225549889960353517437412e-13532) },
+ { SC_(130605), SC_(130605), SC_(2063277), SC_(35153), SC_(BOOST_MATH_SMALL_CONSTANT(0.2654305085637607049857032534333766653893506725153242322492061425346160256633151314115694683386879564e-13287)), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(0.4359359778447423964026678530157261774937353224287863707125675307638110952657243948052706448125036789e-13288)) },
+ { SC_(130605), SC_(130605), SC_(2427690), SC_(33018), SC_(BOOST_MATH_SMALL_CONSTANT(0.5061199150478078401438977938647024840797039371488870016080982752508502891145010029803428952584010014e-13531)), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(0.7638184273912717024779981684672764232263741109194441221400782341853654408023225549889960353517437412e-13532)) },
       { SC_(256574), SC_(3), SC_(523360), SC_(1), SC_(0.382172340490051187123089355789959866885542771397552835121541046006140105490759499929733947348004665), SC_(0.5146324568506304818625488888357460768771925393975901675156589306680077432914807764805589743178588157), SC_(0.4853675431493695181374511111642539231228074606024098324843410693319922567085192235194410256821411843) },
       { SC_(256574), SC_(3), SC_(1030167), SC_(3), SC_(0.01544938586379190890138718499797314131326287002615501011066223142969630053737591870820938512881354308), SC_(1), SC_(0) },
       { SC_(256574), SC_(3), SC_(2063277), SC_(2), SC_(0.04062184438020781349502957668506429434668449418220458824421838410664715106902984021032327838692883614), SC_(0.9980770815021766759443312434216285472987503509539537681594603357151994029670500507530423695874745503), SC_(0.001922918497823324055668756578371452701249649046046231840539664284800597032949949246957630412525449716) },
@@ -1424,21 +1424,21 @@
       { SC_(256574), SC_(10473), SC_(1030167), SC_(5815), SC_(0.1300614123765302046362228258290449289319529473231846807772645945949501492360047173718065053205509129e-978), SC_(1), SC_(0.4596956420178308670137349082907283345065329793952660308447593264217819711900714119893623063080871349e-979) },
       { SC_(256574), SC_(10473), SC_(2063277), SC_(2128), SC_(0.2929529353527264180437732293863192365260349503987251583892764603353264175952524950228967093043204535e-114), SC_(1), SC_(0.3641561230584934357556577203844249980967637824179930273329198491839258841340750786664771339572321456e-114) },
       { SC_(256574), SC_(10473), SC_(2427690), SC_(7132), SC_(0.1762802857167715702944350766276762843734717549493005650729936424670745104584774636110287609134805361e-4311), SC_(1), SC_(0.1004182970952673170098105320143028922179551184569151855044870178210352454408622179638215252545743057e-4312) },
- { SC_(256574), SC_(19470), SC_(523360), SC_(19170), SC_(0.7375103207505451650905379236392846039350838051089357599057555474086958984966458177143537319486913221e-5511), SC_(1), SC_(0.1042635452940707942036559406146062718070332579363734667056557696364271363930311365443277885268950621e-5512) },
+ { SC_(256574), SC_(19470), SC_(523360), SC_(19170), SC_(BOOST_MATH_SMALL_CONSTANT(0.7375103207505451650905379236392846039350838051089357599057555474086958984966458177143537319486913221e-5511)), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(0.1042635452940707942036559406146062718070332579363734667056557696364271363930311365443277885268950621e-5512)) },
       { SC_(256574), SC_(19470), SC_(1030167), SC_(6572), SC_(0.9324064690323706528953087078643009562365899214590166877774594873370905397010088738537668752932348073e-171), SC_(1), SC_(0.1691309716646518507539687993732964421722940503488161289529319802721908884726858077842181378632628344e-170) },
- { SC_(256574), SC_(19470), SC_(2063277), SC_(15718), SC_(0.2890525603803659279886060985989240760680681948409119563077815127951958399903569112507143525583292503e-10479), SC_(1), SC_(0.9520438717034452581024595918158094022318799921011703022491944711550177306638806056888785202320806419e-10481) },
- { SC_(256574), SC_(19470), SC_(2427690), SC_(14537), SC_(0.7504638451904357843378803472047245055120393500344539131039321865721081915367569182961641975573182509e-9794), SC_(1), SC_(0.2957355756794734479260262734286098207917884629353862639632153707545998137221471484159785716070325381e-9795) },
- { SC_(256574), SC_(50688), SC_(523360), SC_(6326), SC_(0.1357862977927616163789549999405276179058823667815139835387072159343071254755410624856944269632514699e-7287), SC_(0.1554931323078782942054238511437138796380057117122633860840576399842543865940890488564030819521634092e-7287), SC_(1) },
+ { SC_(256574), SC_(19470), SC_(2063277), SC_(15718), SC_(BOOST_MATH_SMALL_CONSTANT(0.2890525603803659279886060985989240760680681948409119563077815127951958399903569112507143525583292503e-10479)), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(0.9520438717034452581024595918158094022318799921011703022491944711550177306638806056888785202320806419e-10481)) },
+ { SC_(256574), SC_(19470), SC_(2427690), SC_(14537), SC_(BOOST_MATH_SMALL_CONSTANT(0.7504638451904357843378803472047245055120393500344539131039321865721081915367569182961641975573182509e-9794)), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(0.2957355756794734479260262734286098207917884629353862639632153707545998137221471484159785716070325381e-9795)) },
+ { SC_(256574), SC_(50688), SC_(523360), SC_(6326), SC_(BOOST_MATH_SMALL_CONSTANT(0.1357862977927616163789549999405276179058823667815139835387072159343071254755410624856944269632514699e-7287)), SC_(BOOST_MATH_SMALL_CONSTANT(0.1554931323078782942054238511437138796380057117122633860840576399842543865940890488564030819521634092e-7287)), SC_(1) },
       { SC_(256574), SC_(50688), SC_(1030167), SC_(6310), SC_(0.1149002575024124443168222438025746253892598432618083533605560802026894083926922174099684959263013247e-1106), SC_(0.1961552426693423116362530494765425848951471406019180362162431514604727219079028194998043215334430715e-1106), SC_(1) },
- { SC_(256574), SC_(50688), SC_(2063277), SC_(24893), SC_(0.2167728332155688698784828289535305308876893618166959548541718453338911313787253057914364428896163945e-9121), SC_(1), SC_(0.3377312682333670732715262112053897458207117910793810114998391492542450756723149488974534330578373019e-9122) },
- { SC_(256574), SC_(50688), SC_(2427690), SC_(49876), SC_(0.939771868295522649969739363755674289706385562940080146461433251587736459388429374311627517050620968e-48937), SC_(1), SC_(0.1459374306447027130310499337443942187799772811342221685262211564144410918522532540240456123808966141e-48939) },
- { SC_(256574), SC_(130605), SC_(523360), SC_(108109), SC_(0.380068876167343746496891771390913808859951423278299411666084532597250196912526173570752444754212673e-18344), SC_(1), SC_(0.5502136155981017612779621728118426456003071948185639823277392547768160991496437529561217466038061415e-18345) },
+ { SC_(256574), SC_(50688), SC_(2063277), SC_(24893), SC_(BOOST_MATH_SMALL_CONSTANT(0.2167728332155688698784828289535305308876893618166959548541718453338911313787253057914364428896163945e-9121)), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(0.3377312682333670732715262112053897458207117910793810114998391492542450756723149488974534330578373019e-9122)) },
+ { SC_(256574), SC_(50688), SC_(2427690), SC_(49876), SC_(BOOST_MATH_SMALL_CONSTANT(0.939771868295522649969739363755674289706385562940080146461433251587736459388429374311627517050620968e-48937)), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(0.1459374306447027130310499337443942187799772811342221685262211564144410918522532540240456123808966141e-48939)) },
+ { SC_(256574), SC_(130605), SC_(523360), SC_(108109), SC_(BOOST_MATH_SMALL_CONSTANT(0.380068876167343746496891771390913808859951423278299411666084532597250196912526173570752444754212673e-18344)), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(0.5502136155981017612779621728118426456003071948185639823277392547768160991496437529561217466038061415e-18345)) },
       { SC_(256574), SC_(130605), SC_(1030167), SC_(15134), SC_(0.7138071525363310394909470945246556766851300637050863354207903744133018976804281676899991790539333264e-3545), SC_(0.111052446853269022678067948980421390989079662581499999081674014694128643223915780033415160736340671e-3544), SC_(1) },
- { SC_(256574), SC_(130605), SC_(2063277), SC_(114923), SC_(0.1091155860812198420585092490730199274410467339065103479572415374819629124655254836122837715807952565e-95691), SC_(1), SC_(0.1190442185036060431822103738786383011652003265280955983394102615088291115551242146332538950958784808e-95693) },
- { SC_(256574), SC_(130605), SC_(2427690), SC_(86341), SC_(0.4351918607759444833007377098194281964556961060681600419173181712555128847394408683633258279062408488e-55908), SC_(1), SC_(0.1862135222876926042140041013878011367547838248621245536434387004167419723638160290955108126723169178e-55909) },
- { SC_(256574), SC_(256574), SC_(523360), SC_(191235), SC_(0.2567064294672115366530812620981896694097027448163812364904581069029160517112833231344629820290434178e-29783), SC_(1), SC_(0.319930916955301709346819217068565913027157560244606948910239971746512550945334439924193346294366608e-29784) },
- { SC_(256574), SC_(256574), SC_(1030167), SC_(216596), SC_(0.1860483194531661879415385468592456729406944866779188927379106917525705482813558479848531797773651936e-134569), SC_(1), SC_(0.1890326145468109200746679441100704757722060386641966119575178062661940084784804380559738681541133882e-134571) },
- { SC_(256574), SC_(256574), SC_(2063277), SC_(155763), SC_(0.3453055765165744849840318804351070055295336764385814618399578383176606571194383816587269003651324153e-92932), SC_(1), SC_(0.1373208589161415994536462468230026679486266680717725996210741107579477516780905607665231784141162776e-92933) },
+ { SC_(256574), SC_(130605), SC_(2063277), SC_(114923), SC_(BOOST_MATH_SMALL_CONSTANT(BOOST_MATH_SMALL_CONSTANT(0.1091155860812198420585092490730199274410467339065103479572415374819629124655254836122837715807952565e-95691))), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(BOOST_MATH_SMALL_CONSTANT(0.1190442185036060431822103738786383011652003265280955983394102615088291115551242146332538950958784808e-95693))) },
+ { SC_(256574), SC_(130605), SC_(2427690), SC_(86341), SC_(BOOST_MATH_SMALL_CONSTANT(BOOST_MATH_SMALL_CONSTANT(0.4351918607759444833007377098194281964556961060681600419173181712555128847394408683633258279062408488e-55908))), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(BOOST_MATH_SMALL_CONSTANT(0.1862135222876926042140041013878011367547838248621245536434387004167419723638160290955108126723169178e-55909))) },
+ { SC_(256574), SC_(256574), SC_(523360), SC_(191235), SC_(BOOST_MATH_SMALL_CONSTANT(0.2567064294672115366530812620981896694097027448163812364904581069029160517112833231344629820290434178e-29783)), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(0.319930916955301709346819217068565913027157560244606948910239971746512550945334439924193346294366608e-29784)) },
+ { SC_(256574), SC_(256574), SC_(1030167), SC_(216596), SC_(BOOST_MATH_SMALL_CONSTANT(0.1860483194531661879415385468592456729406944866779188927379106917525705482813558479848531797773651936e-134569)), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(0.1890326145468109200746679441100704757722060386641966119575178062661940084784804380559738681541133882e-134571)) },
+ { SC_(256574), SC_(256574), SC_(2063277), SC_(155763), SC_(BOOST_MATH_SMALL_CONSTANT(BOOST_MATH_SMALL_CONSTANT(0.3453055765165744849840318804351070055295336764385814618399578383176606571194383816587269003651324153e-92932))), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(BOOST_MATH_SMALL_CONSTANT(0.1373208589161415994536462468230026679486266680717725996210741107579477516780905607665231784141162776e-92933))) },
       { SC_(256574), SC_(256574), SC_(2427690), SC_(11903), SC_(0.1178504324444308714376491499144127460920345421405350453261473106532576027645208376526392914047076695e-2807), SC_(0.191011225059239862710222856385796878752021926982540358970735918254630313349449358582104886474098247e-2807), SC_(1) },
       { SC_(523360), SC_(3), SC_(1030167), SC_(3), SC_(0.1311225704829263947430339808893622411623741488724524578541357943764509880668391955042309306655325139), SC_(1), SC_(0) },
       { SC_(523360), SC_(3), SC_(2063277), SC_(1), SC_(0.4238811918826285471591681894295345680511966669655030656059070653924513462553601314860547330678006347), SC_(0.8396186101020428057947857900775153870926203621977094839237764596932619513639042164227127213690987942), SC_(0.1603813898979571942052142099224846129073796378022905160762235403067380486360957835772872786309012058) },
@@ -1480,20 +1480,20 @@
       { SC_(523360), SC_(10473), SC_(2063277), SC_(8862), SC_(0.5221288852532758849627399469006723323664781815657917069780326880376074910286319963529173242551252257e-3555), SC_(1), SC_(0.3379480603889418561657400711575949720561735223041804166187716211306338656187314636424512090159442327e-3556) },
       { SC_(523360), SC_(10473), SC_(2427690), SC_(4430), SC_(0.3597908336329484534343516693669419436595338233660258722657946396240247975675210757441856115916975611e-495), SC_(1), SC_(0.2137925598936836262336929537199556335999383546551954691647491973615059415371548290969892146414485432e-495) },
       { SC_(523360), SC_(19470), SC_(1030167), SC_(17439), SC_(0.3159893492662585553879043828657181989027256364099246381475152992208189310576362459708316291198612989e-2977), SC_(1), SC_(0.4175272706416225814304282370530219334810412601456394959365600575501752736344406563729668584853498279e-2978) },
- { SC_(523360), SC_(19470), SC_(2063277), SC_(16775), SC_(0.3396337712174239782143647096518443791476993144287446519078431545738119504954379499022026575735051058e-7017), SC_(1), SC_(0.1898489398925541176581252936128224114475346866654202700661034014637128213809816651042904659199546936e-7018) },
- { SC_(523360), SC_(19470), SC_(2427690), SC_(18766), SC_(0.4428721730117563103516722406057399620957530207179290064162086228737111088344305205856502690928142465e-11380), SC_(1), SC_(0.4447847918064110531980907645162029514200612240274677437277866576994217162838500858497747814907586878e-11382) },
+ { SC_(523360), SC_(19470), SC_(2063277), SC_(16775), SC_(BOOST_MATH_SMALL_CONSTANT(0.3396337712174239782143647096518443791476993144287446519078431545738119504954379499022026575735051058e-7017)), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(0.1898489398925541176581252936128224114475346866654202700661034014637128213809816651042904659199546936e-7018)) },
+ { SC_(523360), SC_(19470), SC_(2427690), SC_(18766), SC_(BOOST_MATH_SMALL_CONSTANT(0.4428721730117563103516722406057399620957530207179290064162086228737111088344305205856502690928142465e-11380)), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(0.4447847918064110531980907645162029514200612240274677437277866576994217162838500858497747814907586878e-11382)) },
       { SC_(523360), SC_(50688), SC_(1030167), SC_(35031), SC_(0.8807553857058812305591507082111255425559616226009505470412626900343613477819885303135235735765590249e-1596), SC_(1), SC_(0.7042835136767917487646955668739392739196573423192320805562062046766998461210868515344182936696530596e-1596) },
- { SC_(523360), SC_(50688), SC_(2063277), SC_(40390), SC_(0.5512810850640612482121824477320727788243570780726923478802081675416080644982984708052709714413378599e-14699), SC_(1), SC_(0.4826384064070090213251183046818265010961410330456206671381325201311841352327197562284956869652959342e-14700) },
+ { SC_(523360), SC_(50688), SC_(2063277), SC_(40390), SC_(BOOST_MATH_SMALL_CONSTANT(0.5512810850640612482121824477320727788243570780726923478802081675416080644982984708052709714413378599e-14699)), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(0.4826384064070090213251183046818265010961410330456206671381325201311841352327197562284956869652959342e-14700)) },
       { SC_(523360), SC_(50688), SC_(2427690), SC_(26147), SC_(0.105586192990463225512212479670816405098790899400429145868624562315829289290648510158376176674546486e-4892), SC_(1), SC_(0.3486617364924695555233312667189745754083880297668310408107453537648784029853610763352353361952518754e-4893) },
- { SC_(523360), SC_(130605), SC_(1030167), SC_(40724), SC_(0.4875802199873827688960639397130628684554401476153910784014229757545288616635746225034830634517048657e-5106), SC_(0.801131600491382529036474286137294050391805587531879923151584380984583300035419206071470944653468136e-5106), SC_(1) },
- { SC_(523360), SC_(130605), SC_(2063277), SC_(76257), SC_(0.9430435009212016388585819318750223506467146496314121072391958158941654757127312876842238770242093614e-14951), SC_(1), SC_(0.2575069480012123648411433415569562930624486918719235351289073034715821873532564937772003131462261793e-14951) },
- { SC_(523360), SC_(130605), SC_(2427690), SC_(113263), SC_(0.2740341666821778796776070001594123851885690988549772864057706425455147358523483367213984902443874176e-59329), SC_(1), SC_(0.9432469788984580885980713626066055000824868936176571264265903570551731700777380126439122050197158113e-59331) },
- { SC_(523360), SC_(256574), SC_(1030167), SC_(9490), SC_(0.5848209706806700518464961486182982569424029529360785599218672205063598751976170051194824847410865714e-78019), SC_(0.5963983856881557829849034132531271764107019850565560391483353039032213859029424078721144591841227578e-78019), SC_(1) },
- { SC_(523360), SC_(256574), SC_(2063277), SC_(19065), SC_(0.2313249468208391476705261898962464152781418963333517468972384564129448875620300693654824300787010278e-13366), SC_(0.2918208582768986510174875388339704793576613190735329800165115832280031383531519009272933643939892067e-13366), SC_(1) },
- { SC_(523360), SC_(256574), SC_(2427690), SC_(222243), SC_(0.4750709460758428890090679131977197377800220463329784249326442942392772015047885822957282174976768245e-126129), SC_(1), SC_(0.1211846183950113815634083271742757498094633363557022078835443890322461397949604501518736709098609175e-126130) },
+ { SC_(523360), SC_(130605), SC_(1030167), SC_(40724), SC_(BOOST_MATH_SMALL_CONSTANT(0.4875802199873827688960639397130628684554401476153910784014229757545288616635746225034830634517048657e-5106)), SC_(BOOST_MATH_SMALL_CONSTANT(0.801131600491382529036474286137294050391805587531879923151584380984583300035419206071470944653468136e-5106)), SC_(1) },
+ { SC_(523360), SC_(130605), SC_(2063277), SC_(76257), SC_(BOOST_MATH_SMALL_CONSTANT(0.9430435009212016388585819318750223506467146496314121072391958158941654757127312876842238770242093614e-14951)), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(0.2575069480012123648411433415569562930624486918719235351289073034715821873532564937772003131462261793e-14951)) },
+ { SC_(523360), SC_(130605), SC_(2427690), SC_(113263), SC_(BOOST_MATH_SMALL_CONSTANT(BOOST_MATH_SMALL_CONSTANT(0.2740341666821778796776070001594123851885690988549772864057706425455147358523483367213984902443874176e-59329))), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(BOOST_MATH_SMALL_CONSTANT(0.9432469788984580885980713626066055000824868936176571264265903570551731700777380126439122050197158113e-59331))) },
+ { SC_(523360), SC_(256574), SC_(1030167), SC_(9490), SC_(BOOST_MATH_SMALL_CONSTANT(BOOST_MATH_SMALL_CONSTANT(0.5848209706806700518464961486182982569424029529360785599218672205063598751976170051194824847410865714e-78019))), SC_(BOOST_MATH_SMALL_CONSTANT(BOOST_MATH_SMALL_CONSTANT(0.5963983856881557829849034132531271764107019850565560391483353039032213859029424078721144591841227578e-78019))), SC_(1) },
+ { SC_(523360), SC_(256574), SC_(2063277), SC_(19065), SC_(BOOST_MATH_SMALL_CONSTANT(0.2313249468208391476705261898962464152781418963333517468972384564129448875620300693654824300787010278e-13366)), SC_(BOOST_MATH_SMALL_CONSTANT(0.2918208582768986510174875388339704793576613190735329800165115832280031383531519009272933643939892067e-13366)), SC_(1) },
+ { SC_(523360), SC_(256574), SC_(2427690), SC_(222243), SC_(BOOST_MATH_SMALL_CONSTANT(0.4750709460758428890090679131977197377800220463329784249326442942392772015047885822957282174976768245e-126129)), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(0.1211846183950113815634083271742757498094633363557022078835443890322461397949604501518736709098609175e-126130)) },
       { SC_(523360), SC_(523360), SC_(1030167), SC_(241837), SC_(0.8203380924245702478022465695199141660464054381987079466873088211651636517976521955923552177625432037e-1957), SC_(0.262421221835750628594445612212717253102802734436617338014363711761843807875439393899886560993371945e-1956), SC_(1) },
- { SC_(523360), SC_(523360), SC_(2063277), SC_(523107), SC_(0.2742551593647870935991747987630161823706074307930336949174057663247271068158586841593189399664693022e-505441), SC_(1), SC_(0.2179607450351241061498653708982090434961861952733968698527652133203658826854572334030813375770150445e-505448) },
- { SC_(523360), SC_(523360), SC_(2427690), SC_(167943), SC_(0.1307946563918413330125153523922735903409190292526504710160778136694032012335292411255481967652548299e-8882), SC_(1), SC_(0.1234722830039163388584167446719687036074162098393983448101614882075922399922053025138276803059112893e-8882) },
+ { SC_(523360), SC_(523360), SC_(2063277), SC_(523107), SC_(BOOST_MATH_SMALL_CONSTANT(BOOST_MATH_SMALL_CONSTANT(0.2742551593647870935991747987630161823706074307930336949174057663247271068158586841593189399664693022e-505441))), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(BOOST_MATH_SMALL_CONSTANT(0.2179607450351241061498653708982090434961861952733968698527652133203658826854572334030813375770150445e-505448))) },
+ { SC_(523360), SC_(523360), SC_(2427690), SC_(167943), SC_(BOOST_MATH_SMALL_CONSTANT(0.1307946563918413330125153523922735903409190292526504710160778136694032012335292411255481967652548299e-8882)), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(0.1234722830039163388584167446719687036074162098393983448101614882075922399922053025138276803059112893e-8882)) },
       { SC_(1030167), SC_(3), SC_(2063277), SC_(3), SC_(0.1244656916965216824099312755150835353423991461986367293816333372160600060220044706699343470897903001), SC_(1), SC_(0) },
       { SC_(1030167), SC_(3), SC_(2427690), SC_(3), SC_(0.07640864267566021793429573486699017988253230757571319285279826824346982475334890136616710969299857399), SC_(1), SC_(0) },
       { SC_(1030167), SC_(4), SC_(2063277), SC_(0), SC_(0.06285717434308834230571845459483623049940337324206162841082941414154386912241034830653446755935633627), SC_(0.06285717434308834230571845459483623049940337324206162841082941414154386912241034830653446755935633627), SC_(0.9371428256569116576942815454051637695005966267579383715891705858584561308775896516934655324406436637) },
@@ -1522,16 +1522,16 @@
       { SC_(1030167), SC_(10473), SC_(2427690), SC_(5712), SC_(0.7355901010579335219765238522179016937705926659452295729977036156048032907611269656358611739668634818e-137), SC_(1), SC_(0.1163249001626992207066540272519157169051103416567797715789509742964335364566244129318021762330807649e-136) },
       { SC_(1030167), SC_(19470), SC_(2063277), SC_(6846), SC_(0.6703080713107374656044787470489971833315841258162916573058643493102267089053779105352055684607339629e-380), SC_(0.1459126867347770655865859989875429623027864182357521093362522814183914369575106484463985221090338746e-379), SC_(1) },
       { SC_(1030167), SC_(19470), SC_(2427690), SC_(2833), SC_(0.8785288357918805501451553139735155116781962715299419647419967431421184416853195710404807906416977552e-1550), SC_(0.1139234820978152677581944812918196842184586175178446208622563077041369083565215813619803609808418003e-1549), SC_(1) },
- { SC_(1030167), SC_(50688), SC_(2063277), SC_(5958), SC_(0.2696611800809340133866864913059483733762650252007098931107252423414951968838899485622090902801604347e-7429), SC_(0.3094335971442905044072386934961293807150112770244272987590834754277833101226687685341807913602359489e-7429), SC_(1) },
+ { SC_(1030167), SC_(50688), SC_(2063277), SC_(5958), SC_(BOOST_MATH_SMALL_CONSTANT(0.2696611800809340133866864913059483733762650252007098931107252423414951968838899485622090902801604347e-7429)), SC_(BOOST_MATH_SMALL_CONSTANT(0.3094335971442905044072386934961293807150112770244272987590834754277833101226687685341807913602359489e-7429)), SC_(1) },
       { SC_(1030167), SC_(50688), SC_(2427690), SC_(24749), SC_(0.2578716269345720961744344112334709803169389018972677518401353907891401845167717494934082857214768696e-188), SC_(1), SC_(0.8538547595672537381757380908369587958654029695913527955575657852406906964195281915375545945375373932e-188) },
       { SC_(1030167), SC_(130605), SC_(2063277), SC_(67199), SC_(0.1772402217747576023975265826925769595264611577464025377584499804202175059831312745179381288679219898e-30), SC_(0.9999999999999999999999999999973844048905181626720565455251696667915520055031995673391485820685310697), SC_(0.2615595109481837327943454474830333208447994496800432660851417931468930325870724472627377999209154375e-29) },
       { SC_(1030167), SC_(130605), SC_(2427690), SC_(62807), SC_(0.2526562134449195027792279400361520142369933233947774941848233866437381584491456912781842143198296159e-391), SC_(1), SC_(0.9235445258826835146504359095658972972561150774551460899132768721999586312051548667127893915560202981e-391) },
       { SC_(1030167), SC_(256574), SC_(2063277), SC_(136078), SC_(0.1889505875800464975393622983597902398805285201058519859012948813401757384027515978291586034505061829e-248), SC_(1), SC_(0.1236113837302074642637204443211773020459272585535378891152669651196365415708839777030544349579933748e-247) },
- { SC_(1030167), SC_(256574), SC_(2427690), SC_(5059), SC_(0.3415687552349317027106561182030892561608054053847049256991933370024960969305479793930443943170209826e-55782), SC_(0.3494259919719804048098668133719877462120862735795090904931820959068567376960513319071259582269982684e-55782), SC_(1) },
- { SC_(1030167), SC_(523360), SC_(2063277), SC_(45322), SC_(0.6406250319059851000414186122521980525283948930917260704720124702812431881419266715502486311348930843e-116984), SC_(0.6767892889836179660205690345292677556531677014893649920196102930641077389045148072153989233371368326e-116984), SC_(1) },
- { SC_(1030167), SC_(523360), SC_(2427690), SC_(169882), SC_(0.2359533635629512164764734112351286744012027902065592462710641731769499440473362833287635226506536775e-6029), SC_(0.5661726060614987628669304125055108672612592607173491522003446602490067211732156035758926889094610648e-6029), SC_(1) },
- { SC_(1030167), SC_(1030167), SC_(2063277), SC_(744478), SC_(0.4511153571077027519604414144322801206679870058587253174456021218360208321437627577138707488632852896e-92404), SC_(1), SC_(0.7754310234985811873988039144864472895479722845395841523576919087158739737428332572815461903769407882e-92405) },
- { SC_(1030167), SC_(1030167), SC_(2427690), SC_(572726), SC_(0.1391919893786702038962612009846824397331628724453809213678113652788484674273410824482758277274826774e-27643), SC_(1), SC_(0.8848627313045931655152816475946061877553473103461211294820092561884413448622321591917114894334786741e-27644) },
+ { SC_(1030167), SC_(256574), SC_(2427690), SC_(5059), SC_(BOOST_MATH_SMALL_CONSTANT(BOOST_MATH_SMALL_CONSTANT(0.3415687552349317027106561182030892561608054053847049256991933370024960969305479793930443943170209826e-55782))), SC_(BOOST_MATH_SMALL_CONSTANT(BOOST_MATH_SMALL_CONSTANT(0.3494259919719804048098668133719877462120862735795090904931820959068567376960513319071259582269982684e-55782))), SC_(1) },
+ { SC_(1030167), SC_(523360), SC_(2063277), SC_(45322), SC_(BOOST_MATH_SMALL_CONSTANT(0.6406250319059851000414186122521980525283948930917260704720124702812431881419266715502486311348930843e-116984)), SC_(BOOST_MATH_SMALL_CONSTANT(0.6767892889836179660205690345292677556531677014893649920196102930641077389045148072153989233371368326e-116984)), SC_(1) },
+ { SC_(1030167), SC_(523360), SC_(2427690), SC_(169882), SC_(BOOST_MATH_SMALL_CONSTANT(0.2359533635629512164764734112351286744012027902065592462710641731769499440473362833287635226506536775e-6029)), SC_(BOOST_MATH_SMALL_CONSTANT(0.5661726060614987628669304125055108672612592607173491522003446602490067211732156035758926889094610648e-6029)), SC_(1) },
+ { SC_(1030167), SC_(1030167), SC_(2063277), SC_(744478), SC_(BOOST_MATH_SMALL_CONSTANT(BOOST_MATH_SMALL_CONSTANT(0.4511153571077027519604414144322801206679870058587253174456021218360208321437627577138707488632852896e-92404))), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(BOOST_MATH_SMALL_CONSTANT(0.7754310234985811873988039144864472895479722845395841523576919087158739737428332572815461903769407882e-92405))) },
+ { SC_(1030167), SC_(1030167), SC_(2427690), SC_(572726), SC_(BOOST_MATH_SMALL_CONSTANT(0.1391919893786702038962612009846824397331628724453809213678113652788484674273410824482758277274826774e-27643)), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(0.8848627313045931655152816475946061877553473103461211294820092561884413448622321591917114894334786741e-27644)) },
       { SC_(2063277), SC_(3), SC_(2427690), SC_(1), SC_(0.05744948917837785396631837850087687638865986911538300396398836885344514018919283261725123608911631573), SC_(0.06083168584917255775414716520408138122920687784053330869080901476158912618517300547284053088480152357), SC_(0.9391683141508274422458528347959186187707931221594666913091909852384108738148269945271594691151984764) },
       { SC_(2063277), SC_(4), SC_(2427690), SC_(2), SC_(0.09765192319603535795200082936537967044984677193469420307214403317599152054043820712170776297045732308), SC_(0.1096576474471902367301475798867712164541302638078804102268810313495852909563466728647636960006874216), SC_(0.8903423525528097632698524201132287835458697361921195897731189686504147090436533271352363039993125784) },
       { SC_(2063277), SC_(15), SC_(2427690), SC_(2), SC_(0.1489538545802902607664120997954020858865667522818151389900602349430345082934769865095821871577947918e-8), SC_(0.1527562590656629047323044385006577628342277802825044663380264946841620738937005774513717697678843875e-8), SC_(0.9999999984724374093433709526769556149934223716577221971749553366197350531583792610629942254862823023) },
@@ -1545,13 +1545,13 @@
       { SC_(2063277), SC_(2247), SC_(2427690), SC_(146), SC_(0.1961583257344876361407986442912971748133704876860571439720756997039603833526484722848050981525197114e-1509), SC_(0.1985803181231377171100024006050801391647985792237330316683697442131384730223214433005701459145186371e-1509), SC_(1) },
       { SC_(2063277), SC_(6337), SC_(2427690), SC_(2672), SC_(0.1946697310930234468246720701513688516379049429450611162377788936941304610494217178093823793465460629e-1340), SC_(0.2231398150887527500500636624540547473831434192427597288446010950080238974412696796973001269796604522e-1340), SC_(1) },
       { SC_(2063277), SC_(10473), SC_(2427690), SC_(9239), SC_(0.1551193531816254902127180217675278330953801636526937883589391307214311968656400971435645306065954152e-21), SC_(0.9999999999999999999995265520566596472139336012063899453012696720276036981041380189756120978583403695), SC_(0.4734479433403527860663987936100546987303279723963018958619810243879021416596305465302368046704094033e-21) },
- { SC_(2063277), SC_(19470), SC_(2427690), SC_(4675), SC_(0.623040705399711425127124917791866020596913429898404691576374003232002649354732173377846476674429555e-7957), SC_(0.6583688419938623576817522468445990251506727431116697161171189880925188638737939276886488942322787167e-7957), SC_(1) },
- { SC_(2063277), SC_(50688), SC_(2427690), SC_(5656), SC_(0.1529278237073002921981596930779124386741258366470694934804851463595902054455594437519411007451134623e-30822), SC_(0.1559684068913597863769291907119127621669934794968537447893450088285543334777687079420401191985208386e-30822), SC_(1) },
- { SC_(2063277), SC_(130605), SC_(2427690), SC_(12086), SC_(0.1838031979064376860156110323884379948298364325044049860781553255686817375515358349062016312896522764e-88900), SC_(0.1860779122972254559882711932578481205298684299140770720149987268252855087660161273279636415996449002e-88900), SC_(1) },
+ { SC_(2063277), SC_(19470), SC_(2427690), SC_(4675), SC_(BOOST_MATH_SMALL_CONSTANT(0.623040705399711425127124917791866020596913429898404691576374003232002649354732173377846476674429555e-7957)), SC_(BOOST_MATH_SMALL_CONSTANT(0.6583688419938623576817522468445990251506727431116697161171189880925188638737939276886488942322787167e-7957)), SC_(1) },
+ { SC_(2063277), SC_(50688), SC_(2427690), SC_(5656), SC_(BOOST_MATH_SMALL_CONSTANT(0.1529278237073002921981596930779124386741258366470694934804851463595902054455594437519411007451134623e-30822)), SC_(BOOST_MATH_SMALL_CONSTANT(0.1559684068913597863769291907119127621669934794968537447893450088285543334777687079420401191985208386e-30822)), SC_(1) },
+ { SC_(2063277), SC_(130605), SC_(2427690), SC_(12086), SC_(BOOST_MATH_SMALL_CONSTANT(BOOST_MATH_SMALL_CONSTANT(0.1838031979064376860156110323884379948298364325044049860781553255686817375515358349062016312896522764e-88900))), SC_(BOOST_MATH_SMALL_CONSTANT(BOOST_MATH_SMALL_CONSTANT(0.1860779122972254559882711932578481205298684299140770720149987268252855087660161273279636415996449002e-88900))), SC_(1) },
       { SC_(2063277), SC_(256574), SC_(2427690), SC_(208651), SC_(0.1043358350305396213816825473194597727628397567524572489210649347280772703074417268374663807425040052e-624), SC_(0.4058279349421142862579906719998452318972757308871573552913945099588747110076803516651018133973772923e-624), SC_(1) },
- { SC_(2063277), SC_(523360), SC_(2427690), SC_(184261), SC_(0.3757927138352356631892501916344494185815670042854429196331040880186979716874474145827399077949946912e-240005), SC_(0.3785639581119621756070451029910607902592003937852821432380999689590450613028232909193510596494914717e-240005), SC_(1) },
- { SC_(2063277), SC_(1030167), SC_(2427690), SC_(803033), SC_(0.2014503510496423731073796011823145616941176229174944683082735797595277609595578046438978094454227689e-14930), SC_(0.3276248348930073080804548929222879527457119577454409744322412672836109490789223127331688301365927403e-14930), SC_(1) },
- { SC_(2063277), SC_(2063277), SC_(2427690), SC_(1949025), SC_(0.9948928329918925300825475902876870461866169772968706503745565572554925906532956518816712676968759027e-155653), SC_(1), SC_(0.2736845628398119894621780530003341353062573210278622168826610191467448846343071724458397259050505966e-155654) }
+ { SC_(2063277), SC_(523360), SC_(2427690), SC_(184261), SC_(BOOST_MATH_SMALL_CONSTANT(0.3757927138352356631892501916344494185815670042854429196331040880186979716874474145827399077949946912e-240005)), SC_(BOOST_MATH_SMALL_CONSTANT(0.3785639581119621756070451029910607902592003937852821432380999689590450613028232909193510596494914717e-240005)), SC_(1) },
+ { SC_(2063277), SC_(1030167), SC_(2427690), SC_(803033), SC_(BOOST_MATH_SMALL_CONSTANT(0.2014503510496423731073796011823145616941176229174944683082735797595277609595578046438978094454227689e-14930)), SC_(BOOST_MATH_SMALL_CONSTANT(0.3276248348930073080804548929222879527457119577454409744322412672836109490789223127331688301365927403e-14930)), SC_(1) },
+ { SC_(2063277), SC_(2063277), SC_(2427690), SC_(1949025), SC_(BOOST_MATH_SMALL_CONSTANT(0.9948928329918925300825475902876870461866169772968706503745565572554925906532956518816712676968759027e-155653)), SC_(1), SC_(BOOST_MATH_SMALL_CONSTANT(0.2736845628398119894621780530003341353062573210278622168826610191467448846343071724458397259050505966e-155654)) }
    }};
 #undef SC_
 

Modified: sandbox/math_toolkit/libs/math/test/hypergeometric_test_data.ipp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/hypergeometric_test_data.ipp (original)
+++ sandbox/math_toolkit/libs/math/test/hypergeometric_test_data.ipp 2009-01-20 11:58:52 EST (Tue, 20 Jan 2009)
@@ -8,7 +8,7 @@
 // absolute error, not a low relative error.
 //
 #define SC_(x) static_cast<T>(BOOST_JOIN(x, L))
- static const boost::array<boost::array<T, 8>, 398-104> hypergeometric_test_data = {{
+ static const boost::array<boost::array<T, 8>, 398-105> hypergeometric_test_data = {{
      //{SC_(1),SC_(1),SC_(2),SC_(1),SC_(0.5),SC_(1),SC_(0.e-40)},
      {SC_(5),SC_(4),SC_(6),SC_(3),SC_(0.6666666666666666666666666666666666666667),SC_(0.6666666666666666666666666666666666666667),SC_(0.3333333333333333333333333333333333333333)},
      //{SC_(5),SC_(3),SC_(13),SC_(3),SC_(0.03496503496503496503496503496503496503497),SC_(1),SC_(0.e-40)},
@@ -300,7 +300,7 @@
      {SC_(3215),SC_(4934),SC_(5494),SC_(2706),SC_(1.301464585707490814792535362994737105742e-71),SC_(1.48066685396468895689159213319649073755e-71),SC_(1)},
      //{SC_(3215),SC_(4934),SC_(5494),SC_(3014),SC_(2.778928853125489940813034129923433306267e-30),SC_(0.999999999999999999999999999998477829012),SC_(1.522170988e-30)},
      {SC_(3215),SC_(4934),SC_(5494),SC_(2775),SC_(2.980705983079855228190799398729048352087e-26),SC_(4.568054515761335768661592313440449747617e-26),SC_(0.999999999999999999999999954319454842387)},
- {SC_(3215),SC_(4934),SC_(5494),SC_(3004),SC_(5.378089066435558496049070834586693555302e-26),SC_(0.999999999999999999999999966307286850134),SC_(3.3692713149866e-26)},
+ //{SC_(3215),SC_(4934),SC_(5494),SC_(3004),SC_(5.378089066435558496049070834586693555302e-26),SC_(0.999999999999999999999999966307286850134),SC_(3.3692713149866e-26)},
      {SC_(3215),SC_(4934),SC_(5494),SC_(2769),SC_(4.575321018475226387137075375185371548035e-29),SC_(6.770307181230632452986350148326352876378e-29),SC_(0.999999999999999999999999999932296928188)},
      {SC_(3215),SC_(4934),SC_(5494),SC_(2964),SC_(1.832217460276038557251397001240443135099e-12),SC_(0.999999999997907478272135988382633698282),SC_(2.092521727864011617366301718e-12)},
      {SC_(3215),SC_(4934),SC_(5494),SC_(2863),SC_(0.003192814456943264796090309312301672830727),SC_(0.01529732399678425733294970091036265409296),SC_(0.984702676003215742667050299089637345907)},

Modified: sandbox/math_toolkit/libs/math/test/test_hypergeometric_dist.cpp
==============================================================================
--- sandbox/math_toolkit/libs/math/test/test_hypergeometric_dist.cpp (original)
+++ sandbox/math_toolkit/libs/math/test/test_hypergeometric_dist.cpp 2009-01-20 11:58:52 EST (Tue, 20 Jan 2009)
@@ -55,6 +55,27 @@
 #else
    largest_type = "(long\\s+)?double";
 #endif
+ if((boost::math::tools::digits<long double>() > boost::math::tools::digits<double>())
+ && (boost::math::tools::digits<long double>() < 100))
+ {
+ //
+ // Some split of errors from long double into double:
+ //
+ add_expected_result(
+ ".*", // compiler
+ ".*", // stdlib
+ ".*", // platform
+ "double", // test type(s)
+ "Random.*", // test data group
+ ".*", 1500, 1500); // test function
+ add_expected_result(
+ ".*", // compiler
+ ".*", // stdlib
+ ".*", // platform
+ "double", // test type(s)
+ ".*", // test data group
+ ".*", 10, 10); // test function
+ }
 
    add_expected_result(
       ".*", // compiler
@@ -170,6 +191,55 @@
    std::cout << std::endl;
 }
 
+template <class T>
+void do_test_hypergeometric_quantile(const T& data, const char* type_name, const char* test_name)
+{
+ typedef typename T::value_type row_type;
+ typedef typename row_type::value_type value_type;
+
+ std::cout << "Checking quantiles with " << test_name << " with type " << type_name
+ << "\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n";
+
+ if(boost::math::tools::digits<value_type>() > 50)
+ {
+ for(unsigned i = 0; i < data.size(); ++i)
+ {
+ using namespace boost::math::policies;
+
+ unsigned r = make_unsigned(data[i][0]);
+ unsigned n = make_unsigned(data[i][1]);
+ unsigned N = make_unsigned(data[i][2]);
+ unsigned x = make_unsigned(data[i][3]);
+ value_type cp = data[i][5];
+ value_type ccp = data[i][6];
+#if 0
+ boost::math::hypergeometric_distribution<RealType,
+ policy<discrete_quantile<integer_round_up> > > du(r, n, N);
+
+ BOOST_CHECK_EX(quantile(du, cp) >= x);
+ BOOST_CHECK_EX(quantile(complement(du, ccp)) >= x);
+
+ boost::math::hypergeometric_distribution<RealType,
+ policy<discrete_quantile<integer_round_down> > > dl(r, n, N);
+ BOOST_CHECK_EX(quantile(dl, cp) <= x);
+ BOOST_CHECK_EX(quantile(complement(dl, ccp)) <= x);
+#endif
+ boost::math::hypergeometric_distribution<value_type,
+ policy<discrete_quantile<integer_round_nearest> > > dn(r, n, N);
+
+ if((cp < 0.9) && (cp > boost::math::tools::min_value<value_type>()))
+ {
+ BOOST_CHECK_EX(quantile(dn, cp) == x);
+ }
+ if((ccp < 0.9) && (ccp > boost::math::tools::min_value<value_type>()))
+ {
+ BOOST_CHECK_EX(quantile(complement(dn, ccp)) == x);
+ }
+ }
+ }
+}
+
+
 template <class RealType>
 void test_spot(unsigned x, unsigned n, unsigned r, unsigned N,
                RealType p, RealType cp, RealType ccp, RealType tol)
@@ -193,8 +263,10 @@
    if(boost::math::tools::digits<RealType>() > 50)
    {
       using namespace boost::math::policies;
+#if 0
       boost::math::hypergeometric_distribution<RealType,
          policy<discrete_quantile<integer_round_up> > > du(r, n, N);
+
       BOOST_CHECK_EX(quantile(du, cp) >= x);
       BOOST_CHECK_EX(quantile(complement(du, ccp)) >= x);
 
@@ -202,6 +274,12 @@
          policy<discrete_quantile<integer_round_down> > > dl(r, n, N);
       BOOST_CHECK_EX(quantile(dl, cp) <= x);
       BOOST_CHECK_EX(quantile(complement(dl, ccp)) <= x);
+#endif
+ boost::math::hypergeometric_distribution<RealType,
+ policy<discrete_quantile<integer_round_nearest> > > dn(r, n, N);
+
+ BOOST_CHECK_EX(quantile(dn, cp) == x);
+ BOOST_CHECK_EX(quantile(complement(dn, ccp)) == x);
    }
    //
    // Error checking of out of bounds arguments:
@@ -240,15 +318,24 @@
 #include "hypergeometric_test_data.ipp"
    do_test_hypergeometric(hypergeometric_test_data, type_name, "Mathematica data");
 
+#include "hypergeometric_dist_data2.ipp"
    if(boost::is_floating_point<RealType>::value)
    {
       //
       // Don't test this for real_concept: it's too slow!!!
       //
-#include "hypergeometric_dist_data2.ipp"
       do_test_hypergeometric(hypergeometric_dist_data2, type_name, "Random large data");
    }
 
+ do_test_hypergeometric_quantile(hypergeometric_test_data, type_name, "Mathematica data");
+ if(boost::is_floating_point<RealType>::value)
+ {
+ //
+ // Don't test this for real_concept: it's too slow!!!
+ //
+ do_test_hypergeometric_quantile(hypergeometric_dist_data2, type_name, "Random large data");
+ }
+
    RealType tolerance = (std::max)(
       static_cast<RealType>(2e-16L), // limit of test data
       boost::math::tools::epsilon<RealType>());


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk