Browse Source

all Du tests passes

Konstantin Ladutenko 4 years ago
parent
commit
c647562bd7

+ 13 - 1
src/nmie-impl.hpp

@@ -319,7 +319,10 @@ namespace nmie {
         riM1 = 0;
       nmax_ = std::max(nmax_, riM1);
     }
-    nmax_ += 25;  // Final nmax_ value
+    nmax_ += 100;  // Final nmax_ value
+#ifdef MULTI_PRECISION
+    nmax_ += MULTI_PRECISION; //TODO we may need to use more terms that this for MP computations.
+#endif
     // nmax_ *= nmax_;
     // printf("using nmax %i\n", nmax_);
   }
@@ -687,6 +690,15 @@ namespace nmie {
         an_[n] = calc_an(n + 1, x[L - 1], std::complex<FloatType>(0.0, 0.0), std::complex<FloatType>(1.0, 0.0), PsiXL[n + 1], ZetaXL[n + 1], PsiXL[n], ZetaXL[n]);
         bn_[n] = PsiXL[n + 1]/ZetaXL[n + 1];
       }
+      if (nmm::isnan(an_[n].real()) || nmm::isnan(an_[n].imag()) ||
+          nmm::isnan(bn_[n].real()) || nmm::isnan(bn_[n].imag())
+          ) {
+        nmax_ = n;
+        // TODO somehow notify Python users about it
+        std::cout << "nmax value was chaned due to unexpected error. New values is "<<nmax_<<std::endl;
+        break;
+      }
+
     }  // end of for an and bn terms
     isScaCoeffsCalc_ = true;
   }  // end of MultiLayerMie::calcScattCoeffs()

+ 2 - 2
tests/mpmath_input_arguments.py

@@ -11,11 +11,11 @@ complex_arguments = [
     # [10,    [0.75,0],     2.232265, 2.232265, 'c'],
     # [1000,  [0.75,0],     1.997908, 1.997908, 'd'],
     # [100,   [1.33,1e-5], 2.101321, 2.096594, 'e'],
-    [0.055, [1.5, 1],    0.101491, 1.131687e-05, 'g'],
+    # [0.055, [1.5, 1],    0.101491, 1.131687e-05, 'g'],
     # [0.056, [1.5, 1],   0.1033467, 1.216311e-05, 'h'],
     # [100,   [1.5, 1],    2.097502, 1.283697, 'i'],
     # [1,     [10,  10],   2.532993, 2.049405, 'k'],
-    # [100,   [10,  10,],  2.071124, 1.836785, 'l'],
+    [100,   [10,  10,],  2.071124, 1.836785, 'l'],
     # [1, [mp.pi,  1],   0, 0, 'pi'],
     # [1, [mp.pi,  -1],   0, 0, 'pi'],
     # [1, [mp.pi,  mp.pi],   0, 0, 'pi'],

+ 2 - 2
tests/mpmath_special_functions_test_generator.py

@@ -211,8 +211,8 @@ def main():
     # # In literature Zeta or Ksi denote the Riccati-Bessel function of third kind.
     # sf_evals.run_test(mrb.ksi, 'zeta', is_only_x=True)
 
-    # sf_evals.run_test(mrb.an, 'an', is_xm=True)
-    # sf_evals.run_test(mrb.bn, 'bn', is_xm=True)
+    sf_evals.run_test(mrb.an, 'an', is_xm=True)
+    sf_evals.run_test(mrb.bn, 'bn', is_xm=True)
 
     # sf_evals.run_test(mrb.psi, 'psi')
     # sf_evals.run_test(mrb.psi_div_ksi, 'psi_div_ksi')

+ 4 - 4
tests/test_bulk_sphere.cc

@@ -48,10 +48,10 @@ TEST(BulkSphere, HandlesInput) {
           {100,   {1.5, 1},    2.097502, 1.283697, 'i'},
           {1,     {10,  10},   2.532993, 2.049405, 'k'},
           {1000,  {0.75,0},     1.997908, 1.997908, 'd'},
-//          {100,   {10,  10,},  2.071124, 1.836785, 'l'},
-//          {10000, {1.33,1e-5}, 2.004089, 1.723857, 'f'},
-//          {10000, {1.5, 1},    2.004368, 1.236574, 'j'},
-//          {10000, {10,  10},   2.005914, 1.795393, 'm'},
+          {100,   {10,  10,},  2.071124, 1.836785, 'l'},
+          {10000, {1.33,1e-5}, 2.004089, 1.723857, 'f'},
+          {10000, {1.5, 1},    2.004368, 1.236574, 'j'},
+          {10000, {10,  10},   2.005914, 1.795393, 'm'},
       };
   for (const auto &data : parameters_and_results) {
     auto x = std::get<0>(data);

+ 88 - 76
tests/test_spec_functions_data.hpp

@@ -1656,88 +1656,100 @@ D3_test_16digits
 std::vector< std::tuple< nmie::FloatType, std::complex<nmie::FloatType>, int, std::complex<nmie::FloatType>, nmie::FloatType, nmie::FloatType > >
 an_test_30digits
 = {
-{100.0,{1.33,0.00001},0,{0.983292861475793547449358879534,0.124840935725346993952308423791},9.8e-31,1.2e-31},
-{100.0,{1.33,0.00001},1,{0.984860446612096957241775578166,-0.117441925244364000775108414221},9.8e-31,1.2e-31},
-{100.0,{1.33,0.00001},2,{0.985965322504954123969621952786,0.114030053006644283488612943716},9.9e-31,1.1e-31},
-{100.0,{1.33,0.00001},3,{0.98309422036283488576271509011,-0.124415977608877776986379398593},9.8e-31,1.2e-31},
-{100.0,{1.33,0.00001},4,{0.991371042866121608625494977157,0.08795829271464134280082195607},9.9e-31,8.8e-32},
-{100.0,{1.33,0.00001},5,{0.980248634667341669556147870197,-0.134834855608139093882796207474},9.8e-31,1.3e-31},
-{100.0,{1.33,0.00001},6,{0.99718055122375359392774331865,0.0449047618462165643766318875834},1.0e-30,4.5e-32},
-{100.0,{1.33,0.00001},7,{0.977109178727649399333768793089,-0.145371593321445950228768159659},9.8e-31,1.5e-31},
-{100.0,{1.33,0.00001},8,{0.998944269454026267720243481287,-0.0168214926226047272238686782359},1.0e-30,1.7e-32},
-{100.0,{1.33,0.00001},9,{0.97483843031762829521227929905,-0.15244923102990775776867544793},9.7e-31,1.5e-31},
-{100.0,{1.33,0.00001},10,{0.989682373029210168246874877077,-0.0972464738249357923933102153541},9.9e-31,9.7e-32},
-{100.0,{1.33,0.00001},11,{0.974058276029222943006235123659,-0.154763341782793180850316831588},9.7e-31,1.5e-31},
-{100.0,{1.33,0.00001},13,{0.97321520791555822224253070484,-0.157411119794584445279087903581},9.7e-31,1.6e-31},
-{100.0,{1.33,0.00001},14,{0.904663248735925755303113778303,-0.292361654042369775061262128286},9.0e-31,2.9e-31},
-{100.0,{1.33,0.00001},16,{0.821789077184583765787653734649,-0.381603517691708934777072956747},8.2e-31,3.8e-31},
-{100.0,{1.33,0.00001},18,{0.72613260329953407155848417394,-0.444886204316627242871792444943},7.3e-31,4.4e-31},
-{100.0,{1.33,0.00001},20,{0.646163397269584115804313346767,-0.47700354344730323479394821332},6.5e-31,4.8e-31},
-{100.0,{1.33,0.00001},22,{0.608259288093308282827444683986,-0.486845852056768417880388842449},6.1e-31,4.9e-31},
-{100.0,{1.33,0.00001},24,{0.597202161138536973717709609856,-0.489173914624679657860238877562},6.0e-31,4.9e-31},
-{100.0,{1.33,0.00001},27,{0.230834302937511370779284381301,-0.420262916810272826582474221898},2.3e-31,4.2e-31},
-{100.0,{1.33,0.00001},30,{0.183770761359558719881501512678,-0.386322169474363897617474153971},1.8e-31,3.9e-31},
-{100.0,{1.33,0.00001},34,{0.00407268980589458002534477977901,0.0556762984125619636521173223988},4.1e-33,5.6e-32},
-{100.0,{1.33,0.00001},38,{0.0472729617907451310636812562269,0.209550902880260799159827077153},4.7e-32,2.1e-31},
-{100.0,{1.33,0.00001},42,{0.466131617991045553592382970539,0.49810420892156931844106101529},4.7e-31,5.0e-31},
-{100.0,{1.33,0.00001},47,{0.966899506343116582867783282697,0.176777123382178820318858700892},9.7e-31,1.8e-31},
-{100.0,{1.33,0.00001},52,{0.718207294717742029675948752342,-0.448958051273150730138669586336},7.2e-31,4.5e-31},
-{100.0,{1.33,0.00001},58,{0.0236414565408137004489218151802,-0.149452411551900295640136802398},2.4e-32,1.5e-31},
-{100.0,{1.33,0.00001},65,{0.790181580208819746691144800806,0.40597144972645670117974018671},7.9e-31,4.1e-31},
-{100.0,{1.33,0.00001},72,{0.189913560500779200402138612099,-0.391136586515346529172705738098},1.9e-31,3.9e-31},
-{100.0,{1.33,0.00001},80,{0.999005778595894389161376387959,-0.0141888952885494395739093887755},1.0e-30,1.4e-32},
-{100.0,{1.33,0.00001},89,{0.906221854741476619292691065599,0.290379310943678733900129380023},9.1e-31,2.9e-31},
-{100.0,{1.33,0.00001},99,{0.00660940947386932922358492734156,0.0775093664967703347987311255936},6.6e-33,7.8e-32},
-{100.0,{1.33,0.00001},111,{0.00000321366061193370200254328420947,0.00103983157486592840043188559885},3.2e-36,1.0e-33},
-{100.0,{1.33,0.00001},123,{5.17583806523184440915572503511e-13,2.67274951899386243525029046053e-10},5.2e-43,2.7e-40},
-{100.0,{1.33,0.00001},137,{4.71748803281812297397012823952e-24,-1.04259994939657750111183308868e-19},4.7e-54,1.0e-49},
-{100.0,{1.33,0.00001},153,{4.04619812001120256031833116666e-37,-1.26394242328878445327736126568e-32},4.0e-67,1.3e-62},
-{100.0,{1.33,0.00001},170,{6.54854383559658349678357032904e-53,-2.27878735404540029090834523813e-48},6.5e-83,2.3e-78},
-{100.0,{1.33,0.00001},190,{9.68143517313324082875587812679e-74,-3.55321407196406464604668533115e-69},9.7e-104,3.6e-99},
+{100.0,{10.0,10.0},0,{0.679828962402973494402566660504,0.415226053497115475049695981529},6.8e-31,4.2e-31},
+{100.0,{10.0,10.0},1,{0.31190848427862392884480891022,-0.411544182145685558882194237961},3.1e-31,4.1e-31},
+{100.0,{10.0,10.0},2,{0.70438815403586704544487912367,0.40368838606853976648041733313},7.0e-31,4.0e-31},
+{100.0,{10.0,10.0},3,{0.271786765226200517064815984117,-0.390698399100492775796853574116},2.7e-31,3.9e-31},
+{100.0,{10.0,10.0},4,{0.758690038301546480739410311883,0.371200152186914976444353907355},7.6e-31,3.7e-31},
+{100.0,{10.0,10.0},5,{0.205560122807135500337250162455,-0.343503542058148814527059522736},2.1e-31,3.4e-31},
+{100.0,{10.0,10.0},6,{0.833429352082835899591003797477,0.305760816312223565075588260235},8.3e-31,3.1e-31},
+{100.0,{10.0,10.0},7,{0.127179302650854455613815261322,-0.256204313876684678415191746175},1.3e-31,2.6e-31},
+{100.0,{10.0,10.0},8,{0.908862794970906860364913362218,0.193478822314053281910646966824},9.1e-31,1.9e-31},
+{100.0,{10.0,10.0},9,{0.0631253453573123094216345683524,-0.117072919685495698168367821685},6.3e-32,1.2e-31},
+{100.0,{10.0,10.0},10,{0.951385978828859119241125239906,0.0278328375104210335077734584032},9.5e-31,2.8e-32},
+{100.0,{10.0,10.0},12,{0.916580851669130357604817820322,-0.175750732415289643888454774451},9.2e-31,1.8e-31},
+{100.0,{10.0,10.0},14,{0.76635574590482422302341275995,-0.365197200225141544724269361373},7.7e-31,3.7e-31},
+{100.0,{10.0,10.0},17,{0.647926380391943217307719536705,0.426881869738574912351528918309},6.5e-31,4.3e-31},
+{100.0,{10.0,10.0},19,{0.897772858263070079882919373316,0.213840805949102983601660543366},9.0e-31,2.1e-31},
+{100.0,{10.0,10.0},23,{0.646734688251639791789425805676,-0.426665368687914425026177551898},6.5e-31,4.3e-31},
+{100.0,{10.0,10.0},26,{0.917541389422035436679093404389,0.16999167039455108885653697522},9.2e-31,1.7e-31},
+{100.0,{10.0,10.0},31,{0.874710608275606256890577696798,0.249314249326626560672820647449},8.7e-31,2.5e-31},
+{100.0,{10.0,10.0},36,{0.933952125179636651915361473572,0.11586004308049819374986059397},9.3e-31,1.2e-31},
+{100.0,{10.0,10.0},42,{0.454296610104593060751628117406,0.445440314478011244574851240308},4.5e-31,4.5e-31},
+{100.0,{10.0,10.0},49,{0.366407827716750193813191896865,-0.425226144777264582375107728238},3.7e-31,4.3e-31},
+{100.0,{10.0,10.0},57,{0.460026617113670522420364769771,0.440740935073404320746433591059},4.6e-31,4.4e-31},
+{100.0,{10.0,10.0},66,{0.754499276857564796661886030636,-0.355764558148565584411383376264},7.5e-31,3.6e-31},
+{100.0,{10.0,10.0},76,{0.335490226138710838198779303754,0.395332122126832970606361956864},3.4e-31,4.0e-31},
+{100.0,{10.0,10.0},89,{0.504927718220382142362743520035,-0.399954618225341028857538051784},5.0e-31,4.0e-31},
+{100.0,{10.0,10.0},103,{0.155247890156101871963549534713,-0.193475207076534876752489443021},1.6e-31,1.9e-31},
+{100.0,{10.0,10.0},120,{0.00000000267662196122883033815657363983,-0.0000000176408825619443339894450903787},2.7e-39,1.8e-38},
+{100.0,{10.0,10.0},140,{1.12875229120676669224511124715e-22,-1.10142183824566380812854059223e-21},1.1e-52,1.1e-51},
+{100.0,{10.0,10.0},162,{2.10081681780835363518344699642e-41,-2.66352219539497430358222180119e-40},2.1e-71,2.7e-70},
+{100.0,{10.0,10.0},188,{1.01984812326280191108805960758e-67,-1.61153632927051257702806108056e-66},1.0e-97,1.6e-96},
+{100.0,{10.0,10.0},219,{7.61464157272661971649643098205e-104,-1.4678827098307714849815760751e-102},7.6e-134,1.5e-132},
+{100.0,{10.0,10.0},254,{9.70920247033645772180595742951e-150,-2.23345866953863686315418137136e-148},9.7e-180,2.2e-178},
+{100.0,{10.0,10.0},296,{9.17410098778793332575560576757e-211,-2.50329537330001021720238188425e-209},9.2e-241,2.5e-239},
+{100.0,{10.0,10.0},343,{1.54728924444235547832673390408e-285,-4.93445805599162272803774901168e-284},1.5e-315,4.9e-314},
+{100.0,{10.0,10.0},399,{3.37317181957757910282198935269e-382,-1.25323308786056013454730417662e-380},3.4e-412,1.3e-410},
+{100.0,{10.0,10.0},464,{3.51699765785293987454784526004e-503,-1.51130647609297077462735471327e-501},3.5e-533,1.5e-531},
+{100.0,{10.0,10.0},539,{8.82119712438242287441958257536e-653,-4.34856698178728791133377787619e-651},8.8e-683,4.3e-681},
+{100.0,{10.0,10.0},626,{8.28112018731353239277625222426e-838,-4.64503396342828376845115709631e-836},8.3e-868,4.6e-866},
+{100.0,{10.0,10.0},727,{6.99476097776062140376902112325e-1066,-4.42171962856892626252493359032e-1064},7.0e-1096,4.4e-1094},
+{100.0,{10.0,10.0},844,{2.17357239700355847203966561926e-1345,-1.53028532339923376703349340156e-1343},2.2e-1375,1.5e-1373},
+{100.0,{10.0,10.0},981,{1.30745043446731375351676810589e-1690,-1.01174034009383554627992640203e-1688},1.3e-1720,1.0e-1718},
+{100.0,{10.0,10.0},1139,{2.13810300916710064143281813763e-2109,-1.78817394919795125381215062143e-2107},2.1e-2139,1.8e-2137},
+{100.0,{10.0,10.0},1324,{6.51588610784717425941070317004e-2624,-5.79120465820773576402244540831e-2622},6.5e-2654,5.8e-2652},
+{100.0,{10.0,10.0},1537,{4.48628014234319302717168249273e-3244,-4.16479512959805049251097333075e-3242},4.5e-3274,4.2e-3272},
 };
 
 // x, complex(m), n, complex(f(n,z)), abs_err_real, abs_err_imag
 std::vector< std::tuple< nmie::FloatType, std::complex<nmie::FloatType>, int, std::complex<nmie::FloatType>, nmie::FloatType, nmie::FloatType > >
 bn_test_30digits
 = {
-{100.0,{1.33,0.00001},0,{0.985225810581282386106515279646,-0.115942975052557136687276065271},9.9e-31,1.2e-31},
-{100.0,{1.33,0.00001},1,{0.984198205480549450275215509099,0.121293322291954009772148249386},9.8e-31,1.2e-31},
-{100.0,{1.33,0.00001},2,{0.984111091723216958565637724715,-0.120455115559497447344633607914},9.8e-31,1.2e-31},
-{100.0,{1.33,0.00001},3,{0.988394155353531283859970050705,0.103170460307943493953358340537},9.9e-31,1.0e-31},
-{100.0,{1.33,0.00001},4,{0.981667453534137346692579191848,-0.129758755863461947283890344056},9.8e-31,1.3e-31},
-{100.0,{1.33,0.00001},5,{0.994393001262226790446889305308,0.0690616463467823781057223170999},9.9e-31,6.9e-32},
-{100.0,{1.33,0.00001},6,{0.978437542112137054090555573963,-0.141031795768905906171277851593},9.8e-31,1.4e-31},
-{100.0,{1.33,0.00001},7,{0.998928171031509403495922773509,0.017009070995538727841352739296},1.0e-30,1.7e-32},
-{100.0,{1.33,0.00001},8,{0.975504852376236081318591439551,-0.150432865515568326835206331805},9.8e-31,1.5e-31},
-{100.0,{1.33,0.00001},9,{0.996282201848085575689618507733,-0.0542687022438915322567305590184},1.0e-30,5.4e-32},
-{100.0,{1.33,0.00001},10,{0.974073321620675057800759094699,-0.154728677960347441147765309351},9.7e-31,1.5e-31},
-{100.0,{1.33,0.00001},11,{0.978237944059192548594231106649,-0.143326255920670845943686249146},9.8e-31,1.4e-31},
-{100.0,{1.33,0.00001},13,{0.935844619697458777560258716366,-0.243490008173120709350112588222},9.4e-31,2.4e-31},
-{100.0,{1.33,0.00001},14,{0.972331325754838412398557609546,-0.160146936582394111373556585325},9.7e-31,1.6e-31},
-{100.0,{1.33,0.00001},16,{0.961819306142619170862478976406,-0.188684975302727942310403913307},9.6e-31,1.9e-31},
-{100.0,{1.33,0.00001},18,{0.92859518928460200345277780158,-0.255629764591847580719924173528},9.3e-31,2.6e-31},
-{100.0,{1.33,0.00001},20,{0.849657444401319126749899621004,-0.356253019889860105519580422041},8.5e-31,3.6e-31},
-{100.0,{1.33,0.00001},22,{0.704236208513023092255978958968,-0.455570124927034131210396434143},7.0e-31,4.6e-31},
-{100.0,{1.33,0.00001},24,{0.501324251763404467667356357969,-0.499260921808715126231821237988},5.0e-31,5.0e-31},
-{100.0,{1.33,0.00001},27,{0.496604762530847106960828438922,-0.499038117595638483014877769869},5.0e-31,5.0e-31},
-{100.0,{1.33,0.00001},30,{0.12304253816148267349042194581,-0.326510066238273359692707119974},1.2e-31,3.3e-31},
-{100.0,{1.33,0.00001},34,{0.0497891171514503456820849654784,-0.215446225721925212102947512086},5.0e-32,2.2e-31},
-{100.0,{1.33,0.00001},38,{0.158370875419852237723715026027,0.364074618963252545967571248969},1.6e-31,3.6e-31},
-{100.0,{1.33,0.00001},42,{0.43712691436743175683325707469,0.494705346485833262243003552539},4.4e-31,4.9e-31},
-{100.0,{1.33,0.00001},47,{0.910854143460976674102618669457,0.282722158969578104293101897967},9.1e-31,2.8e-31},
-{100.0,{1.33,0.00001},52,{0.913786530245113986015944002211,-0.278857601617065918450227517047},9.1e-31,2.8e-31},
-{100.0,{1.33,0.00001},58,{0.0245164944062270740942982543122,-0.150320991662129562190444364757},2.5e-32,1.5e-31},
-{100.0,{1.33,0.00001},65,{0.880752944304931919955487086855,0.323172473965529844997584426499},8.8e-31,3.2e-31},
-{100.0,{1.33,0.00001},72,{0.418802868613230158697717538116,-0.492683390350917725808536465523},4.2e-31,4.9e-31},
-{100.0,{1.33,0.00001},80,{0.929238307111716727713442580138,-0.254491612243552408606177194977},9.3e-31,2.5e-31},
-{100.0,{1.33,0.00001},89,{0.784728369270289588227980415367,0.410501204235871868964872680977},7.8e-31,4.1e-31},
-{100.0,{1.33,0.00001},99,{0.0614997790835917145927623914716,0.239252646978288399998097825249},6.1e-32,2.4e-31},
-{100.0,{1.33,0.00001},111,{0.0000009291505307798752064389668148,0.000598869872117898826784602679261},9.3e-37,6.0e-34},
-{100.0,{1.33,0.00001},123,{3.0443025822485605231328209693e-13,2.7899384455209304186471850341e-10},3.0e-43,2.8e-40},
-{100.0,{1.33,0.00001},137,{5.21299608123152498131692259421e-24,-6.84402573284702321939804021489e-20},5.2e-54,6.8e-50},
-{100.0,{1.33,0.00001},153,{2.83618184239157249527152425776e-37,-5.53756343809554199199860075633e-33},2.8e-67,5.5e-63},
-{100.0,{1.33,0.00001},170,{3.2482367443426195596935606806e-53,-7.31964262759169298268294529878e-49},3.2e-83,7.3e-79},
-{100.0,{1.33,0.00001},190,{3.48336528648469774012102686213e-74,-8.50376657441951054200136719691e-70},3.5e-104,8.5e-100},
+{100.0,{10.0,10.0},0,{0.320171037597026505597433339496,-0.415226053497115475049695981529},3.2e-31,4.2e-31},
+{100.0,{10.0,10.0},1,{0.688102688663558269637950176817,0.411549035340502143130949131489},6.9e-31,4.1e-31},
+{100.0,{10.0,10.0},2,{0.295577765824838644962123836823,-0.403701596625138688081843237131},3.0e-31,4.0e-31},
+{100.0,{10.0,10.0},3,{0.728282875037678869362296916378,0.390720693130263506269626825291},7.3e-31,3.9e-31},
+{100.0,{10.0,10.0},4,{0.24119125420829264782986390491,-0.371227927142728379240185173628},2.4e-31,3.7e-31},
+{100.0,{10.0,10.0},5,{0.794621289753212100235139895232,0.343527232702889516292009750323},7.9e-31,3.4e-31},
+{100.0,{10.0,10.0},6,{0.166314387386566068719161425326,-0.30576333984052832356391572643},1.7e-31,3.1e-31},
+{100.0,{10.0,10.0},7,{0.873159717417740513199219644963,0.256159925040697794776071626493},8.7e-31,2.6e-31},
+{100.0,{10.0,10.0},8,{0.0907156873785831286863369142185,-0.19335290888519022800477857831},9.1e-32,1.9e-31},
+{100.0,{10.0,10.0},9,{0.937365225010850674141316739717,0.116823465327552252176889872593},9.4e-31,1.2e-31},
+{100.0,{10.0,10.0},10,{0.0480865745094912581949176840588,-0.0274144079577837282996668447782},4.8e-32,2.7e-32},
+{100.0,{10.0,10.0},12,{0.0830121464840077022459981700383,0.176616664886728250759222326918},8.3e-32,1.8e-31},
+{100.0,{10.0,10.0},14,{0.233775711304103861981117912554,0.366481692739659771334668324041},2.3e-31,3.7e-31},
+{100.0,{10.0,10.0},17,{0.350419877877778844192262138072,-0.427796461057480059924772760242},3.5e-31,4.3e-31},
+{100.0,{10.0,10.0},19,{0.0999390308639136635819217917173,-0.213284040180075118803341298841},1.0e-31,2.1e-31},
+{100.0,{10.0,10.0},23,{0.354609837857012604962471334256,0.429840913844464502801549295326},3.5e-31,4.3e-31},
+{100.0,{10.0,10.0},26,{0.0783018366402718218364640426886,-0.16849822674380600665898841356},7.8e-32,1.7e-31},
+{100.0,{10.0,10.0},31,{0.11902497427184810754983602268,-0.248405876458500447346883714383},1.2e-31,2.5e-31},
+{100.0,{10.0,10.0},36,{0.0583385326135556985670917972947,-0.111948520179255044347215446356},5.8e-32,1.1e-31},
+{100.0,{10.0,10.0},42,{0.538655172522649519977279389364,-0.45516819181088439051089258237},5.4e-31,4.6e-31},
+{100.0,{10.0,10.0},49,{0.648077620631044408169541380757,0.433896442439453138458949348299},6.5e-31,4.3e-31},
+{100.0,{10.0,10.0},57,{0.525811128847205437888096222567,-0.460076703347602731659377388603},5.3e-31,4.6e-31},
+{100.0,{10.0,10.0},66,{0.248667049534323140402225574527,0.390149542561216364452441234431},2.5e-31,3.9e-31},
+{100.0,{10.0,10.0},76,{0.649781496533962419404239413327,-0.444315643934545667941241837069},6.5e-31,4.4e-31},
+{100.0,{10.0,10.0},89,{0.538312060560845433134797633675,0.476614200565498692626866890834},5.4e-31,4.8e-31},
+{100.0,{10.0,10.0},103,{0.0173039291278402253813949756937,0.117940098848570493436362521487},1.7e-32,1.2e-31},
+{100.0,{10.0,10.0},120,{9.19216235319901235701738165726e-10,0.000000013681944872947274432834968601},9.2e-40,1.4e-38},
+{100.0,{10.0,10.0},140,{8.73180467252494061041580803526e-23,8.8403917299578952247189061153e-22},8.7e-53,8.8e-52},
+{100.0,{10.0,10.0},162,{2.73414826602380818509020985972e-41,2.12963402058720924272112483812e-40},2.7e-71,2.1e-70},
+{100.0,{10.0,10.0},188,{2.03080368113977014860416145422e-67,1.26522239818490345170866686757e-66},2.0e-97,1.3e-96},
+{100.0,{10.0,10.0},219,{2.2036139808853879904497051823e-103,1.11924145049993964499101911009e-102},2.2e-133,1.1e-132},
+{100.0,{10.0,10.0},254,{3.88223194450670784061884980786e-149,1.63963865067996789659679399685e-148},3.9e-179,1.6e-178},
+{100.0,{10.0,10.0},296,{4.96628178106412153587756817648e-210,1.74859913634476842249836867014e-209},5.0e-240,1.7e-239},
+{100.0,{10.0,10.0},343,{1.0938988573382398273775007954e-284,3.2472666700854452431061674146e-284},1.1e-314,3.2e-314},
+{100.0,{10.0,10.0},399,{3.06316027652451015800702086373e-381,7.64681972914809364498799216655e-381},3.1e-411,7.6e-411},
+{100.0,{10.0,10.0},464,{4.0014535593885155240539166209e-502,8.40049560424774201136260375949e-502},4.0e-532,8.4e-532},
+{100.0,{10.0,10.0},539,{1.22254518632653819324508981073e-651,2.15578359013488655725284479002e-651},1.2e-681,2.2e-681},
+{100.0,{10.0,10.0},626,{1.35567791144631050248833144862e-836,1.99911730969488683578184205668e-836},1.4e-866,2.0e-866},
+{100.0,{10.0,10.0},727,{1.30431560458674867647620310749e-1064,1.59729912349148684724035151749e-1064},1.3e-1094,1.6e-1094},
+{100.0,{10.0,10.0},844,{4.41918873229972943145982099725e-1344,4.45319085047179627586948315397e-1344},4.4e-1374,4.5e-1374},
+{100.0,{10.0,10.0},981,{2.75349167001965712979314404723e-1689,2.25126126172658200755061854137e-1689},2.8e-1719,2.3e-1719},
+{100.0,{10.0,10.0},1139,{4.39719433207010461252662146274e-2108,2.87841737954565469068030273469e-2108},4.4e-2138,2.9e-2138},
+{100.0,{10.0,10.0},1324,{1.22886278826232761310170941483e-2622,6.32593986562542026145495765727e-2623},1.2e-2652,6.3e-2653},
+{100.0,{10.0,10.0},1537,{7.31652560046970872228490692244e-3243,2.92279258110586610473527638618e-3243},7.3e-3273,2.9e-3273},
 };
 
 // complex(z), n, complex(f(n,z)), abs_err_real, abs_err_imag