LCOV - code coverage report
Current view: top level - elsa/projectors/tests - test_BlobDerivative.cpp (source / functions) Hit Total Coverage
Test: coverage-all.lcov Lines: 851 859 99.1 %
Date: 2023-01-26 04:22:16 Functions: 4 4 100.0 %

          Line data    Source code
       1             : #include "doctest/doctest.h"
       2             : 
       3             : #include "Blobs.h"
       4             : #include "spdlog/fmt/fmt.h"
       5             : #include <unordered_map>
       6             : 
       7             : using namespace elsa;
       8             : using namespace doctest;
       9             : 
      10             : TEST_SUITE_BEGIN("projectors");
      11             : 
      12             : constexpr index_t size = 101;
      13             : 
      14             : template <typename data_t>
      15             : constexpr std::array<double, size> getExpected(data_t a, data_t alphas, data_t ms);
      16             : 
      17             : TEST_CASE_TEMPLATE("Blobs: Test evaluation of projected blob derivative", data_t, float, double)
      18           2 : {
      19           2 :     constexpr std::array<data_t, 3> scales{100, 50, 30};
      20           2 :     constexpr std::array<data_t, 2> as{1, 2};
      21           2 :     constexpr std::array<data_t, 4> alphas{2.5, 5., 7.5, 10.83};
      22           2 :     constexpr std::array<index_t, 2> ms{1, 2};
      23             : 
      24           4 :     for (const auto a : as) {
      25           4 :         const auto scale = scales[static_cast<index_t>(a - 1)];
      26          16 :         for (const auto alpha : alphas) {
      27          32 :             for (const auto m : ms) {
      28          32 :                 CAPTURE(scale);
      29          32 :                 CAPTURE(a);
      30          32 :                 CAPTURE(alpha);
      31          32 :                 CAPTURE(m);
      32             : 
      33          32 :                 auto expected = getExpected<data_t>(1, alpha, m);
      34             : 
      35          32 :                 ProjectedBlob<data_t> blob(a, alpha, m);
      36        3264 :                 for (int i = 0; i <= 100; ++i) {
      37        3232 :                     const auto x = i / scale;
      38             : 
      39        3232 :                     CAPTURE(x);
      40             : 
      41        3232 :                     CHECK_EQ(Approx(blob.derivative(x)), expected[i]);
      42        3232 :                 }
      43          32 :             }
      44          16 :         }
      45           4 :     }
      46           2 : }
      47             : 
      48             : /// These values here are computed using python, by evaluating the following python function:
      49             : /// Ref:
      50             : /// Investigation of discrete imaging models and iterative image reconstruction in differential
      51             : /// X-ray phase-contrast tomography - Qiaofeng Xu (Appendix B)
      52             : /// ```python
      53             : ///    def blob_derivative_projected(s, a, alpha, m):
      54             : ///     sda = s/a
      55             : ///     sdas = sda**2
      56             : ///     w = math.sqrt(1 - sdas)
      57             : ///     Imalpha = iv(m,alpha)
      58             : ///     Iwalpha = iv(m-0.5,alpha*w)
      59             : ///     wroot = math.pow(w,m-0.5)
      60             : ///     return - math.sqrt(2*math.pi*alpha) * sda * wroot * Iwalpha / Imalpha
      61             : /// ```
      62             : template <typename data_t>
      63             : constexpr std::array<double, size> getExpected(data_t a, data_t alpha, data_t m)
      64          64 : {
      65          64 :     if (a == 1) {
      66          64 :         if (alpha == 2.5) {
      67          16 :             if (m == 1) {
      68             :                 // Blob evaulations with a = 1, alpha = 2.5 and m = 1, for values from 0 to 1.0
      69           8 :                 return {-0.0,
      70           8 :                         -0.04807405669417535,
      71           8 :                         -0.09611157073815496,
      72           8 :                         -0.14407602627431668,
      73           8 :                         -0.19193096100651463,
      74           8 :                         -0.2396399929216377,
      75           8 :                         -0.28716684694015165,
      76           8 :                         -0.33447538147194333,
      77           8 :                         -0.38152961485378584,
      78           8 :                         -0.42829375164472916,
      79           8 :                         -0.47473220875571487,
      80           8 :                         -0.5208096413896902,
      81           8 :                         -0.5664909687684836,
      82           8 :                         -0.6117413996226595,
      83           8 :                         -0.6565264574205596,
      84           8 :                         -0.7008120053126505,
      85           8 :                         -0.7445642707672788,
      86           8 :                         -0.7877498698738223,
      87           8 :                         -0.8303358312891594,
      88           8 :                         -0.8722896198032404,
      89           8 :                         -0.9135791594994244,
      90           8 :                         -0.9541728564850634,
      91           8 :                         -0.9940396211676154,
      92           8 :                         -1.0331488900513377,
      93           8 :                         -1.071470647029303,
      94           8 :                         -1.1089754441451802,
      95           8 :                         -1.1456344217987895,
      96           8 :                         -1.1814193283690078,
      97           8 :                         -1.2163025392270497,
      98           8 :                         -1.2502570751125324,
      99           8 :                         -1.2832566198439892,
     100           8 :                         -1.315275537334685,
     101           8 :                         -1.3462888878835981,
     102           8 :                         -1.3762724437103127,
     103           8 :                         -1.4052027037012949,
     104           8 :                         -1.4330569073335366,
     105           8 :                         -1.4598130477398297,
     106           8 :                         -1.4854498838780155,
     107           8 :                         -1.5099469517642643,
     108           8 :                         -1.533284574727882,
     109           8 :                         -1.5554438726421873,
     110           8 :                         -1.5764067700825484,
     111           8 :                         -1.5961560033588256,
     112           8 :                         -1.6146751263648933,
     113           8 :                         -1.6319485151828044,
     114           8 :                         -1.6479613713731385,
     115           8 :                         -1.6626997238762438,
     116           8 :                         -1.676150429441121,
     117           8 :                         -1.688301171489543,
     118           8 :                         -1.6991404573123547,
     119           8 :                         -1.7086576134826073,
     120           8 :                         -1.7168427793558587,
     121           8 :                         -1.723686898511292,
     122           8 :                         -1.7291817079678848,
     123           8 :                         -1.7333197249870882,
     124           8 :                         -1.7360942312468244,
     125           8 :                         -1.7374992541402585,
     126           8 :                         -1.7375295449157813,
     127           8 :                         -1.736180553330982,
     128           8 :                         -1.7334483984414153,
     129           8 :                         -1.7293298350832413,
     130           8 :                         -1.7238222155349454,
     131           8 :                         -1.7169234457547784,
     132           8 :                         -1.7086319354838593,
     133           8 :                         -1.6989465413757934,
     134           8 :                         -1.6878665021568602,
     135           8 :                         -1.675391364629175,
     136           8 :                         -1.6615208990941923,
     137           8 :                         -1.6462550024837521,
     138           8 :                         -1.6295935871257068,
     139           8 :                         -1.6115364526214515,
     140           8 :                         -1.5920831377473172,
     141           8 :                         -1.571232748576346,
     142           8 :                         -1.5489837581046209,
     143           8 :                         -1.525333771493923,
     144           8 :                         -1.5002792495230353,
     145           8 :                         -1.4738151808528506,
     146           8 :                         -1.44593469108631,
     147           8 :                         -1.4166285731022619,
     148           8 :                         -1.3858847184157466,
     149           8 :                         -1.3536874228587878,
     150           8 :                         -1.3200165309319556,
     151           8 :                         -1.284846370609036,
     152           8 :                         -1.248144412431194,
     153           8 :                         -1.2098695606446148,
     154           8 :                         -1.1699699454792534,
     155           8 :                         -1.1283800271114788,
     156           8 :                         -1.0850167309636753,
     157           8 :                         -1.0397741889669891,
     158           8 :                         -0.992516422618059,
     159           8 :                         -0.9430668960088342,
     160           8 :                         -0.8911931412487312,
     161           8 :                         -0.8365833010253952,
     162           8 :                         -0.7788087380649978,
     163           8 :                         -0.717261109232539,
     164           8 :                         -0.651038854443691,
     165           8 :                         -0.5787226550702489,
     166           8 :                         -0.4978698225088995,
     167           8 :                         -0.4036254593620892,
     168           8 :                         -0.28324549831372686,
     169           8 :                         -0.0};
     170           8 :             } else if (m == 2) {
     171             :                 // Blob evaulations with a = 1, alpha = 2.5 and m = 2, for values from 0 to 1.0
     172           8 :                 return {-0.0,
     173           8 :                         -0.058151976312665624,
     174           8 :                         -0.1162328780220491,
     175           8 :                         -0.1741717205711958,
     176           8 :                         -0.23189769940337918,
     177           8 :                         -0.2893402797312516,
     178           8 :                         -0.34642928602913425,
     179           8 :                         -0.40309499115664704,
     180           8 :                         -0.4592682050223054,
     181           8 :                         -0.5148803626962262,
     182           8 :                         -0.5698636118817275,
     183           8 :                         -0.6241508996563326,
     184           8 :                         -0.6776760583935352,
     185           8 :                         -0.7303738907776194,
     186           8 :                         -0.7821802538249071,
     187           8 :                         -0.8330321418259148,
     188           8 :                         -0.882867768124222,
     189           8 :                         -0.9316266456491777,
     190           8 :                         -0.9792496661210799,
     191           8 :                         -1.0256791778490237,
     192           8 :                         -1.070859062043333,
     193           8 :                         -1.114734807566266,
     194           8 :                         -1.1572535840466232,
     195           8 :                         -1.1983643132858957,
     196           8 :                         -1.2380177388857248,
     197           8 :                         -1.2761664940287272,
     198           8 :                         -1.3127651673470648,
     199           8 :                         -1.3477703668156729,
     200           8 :                         -1.3811407816096424,
     201           8 :                         -1.4128372418680206,
     202           8 :                         -1.442822776309121,
     203           8 :                         -1.4710626676455085,
     204           8 :                         -1.4975245057499011,
     205           8 :                         -1.522178238526585,
     206           8 :                         -1.5449962204463592,
     207           8 :                         -1.5659532587066571,
     208           8 :                         -1.5850266569822982,
     209           8 :                         -1.6021962567362662,
     210           8 :                         -1.6174444760641575,
     211           8 :                         -1.6307563460502783,
     212           8 :                         -1.6421195446180668,
     213           8 :                         -1.6515244278623749,
     214           8 :                         -1.65896405885635,
     215           8 :                         -1.6644342339311602,
     216           8 :                         -1.6679335064326248,
     217           8 :                         -1.669463207965089,
     218           8 :                         -1.6690274671395164,
     219           8 :                         -1.666633225849943,
     220           8 :                         -1.6622902531101917,
     221           8 :                         -1.656011156491004,
     222           8 :                         -1.6478113912068921,
     223           8 :                         -1.637709266911829,
     224           8 :                         -1.6257259522737322,
     225           8 :                         -1.6118854774095943,
     226           8 :                         -1.596214734276256,
     227           8 :                         -1.5787434751263987,
     228           8 :                         -1.5595043091556684,
     229           8 :                         -1.5385326974850821,
     230           8 :                         -1.515866946643465,
     231           8 :                         -1.4915482007380236,
     232           8 :                         -1.4656204325277207,
     233           8 :                         -1.4381304336445375,
     234           8 :                         -1.4091278042427424,
     235           8 :                         -1.37866494239675,
     236           8 :                         -1.3467970336153543,
     237           8 :                         -1.3135820408951175,
     238           8 :                         -1.2790806958006447,
     239           8 :                         -1.2433564911360266,
     240           8 :                         -1.2064756758629946,
     241           8 :                         -1.1685072530304697,
     242           8 :                         -1.1295229816115775,
     243           8 :                         -1.0895973833035024,
     244           8 :                         -1.048807755539759,
     245           8 :                         -1.0072341922030916,
     246           8 :                         -0.9649596138224134,
     247           8 :                         -0.9220698094052853,
     248           8 :                         -0.8786534925200584,
     249           8 :                         -0.834802374828399,
     250           8 :                         -0.7906112610196104,
     251           8 :                         -0.7461781700683584,
     252           8 :                         -0.7016044890049901,
     253           8 :                         -0.6569951670629964,
     254           8 :                         -0.6124589603108012,
     255           8 :                         -0.5681087399189,
     256           8 :                         -0.5240618814081323,
     257           8 :                         -0.4804407581039403,
     258           8 :                         -0.4373733704172193,
     259           8 :                         -0.39499415481628714,
     260           8 :                         -0.35344503463861615,
     261           8 :                         -0.31287680294031595,
     262           8 :                         -0.27345097196361634,
     263           8 :                         -0.2353422965966166,
     264           8 :                         -0.19874230374778465,
     265           8 :                         -0.16386438369761855,
     266           8 :                         -0.13095142847966623,
     267           8 :                         -0.10028788910515746,
     268           8 :                         -0.07222014823654624,
     269           8 :                         -0.047194395748366216,
     270           8 :                         -0.025838028396018092,
     271           8 :                         -0.009185149750792604,
     272           8 :                         -0.0};
     273           8 :             }
     274          48 :         } else if (alpha == 5.0) {
     275          16 :             if (m == 1) {
     276             :                 // Blob evaulations with a = 1, alpha = 5 and m = 1, for values from 0 to 1.0
     277           8 :                 return {-0.0,
     278           8 :                         -0.06096790831435612,
     279           8 :                         -0.12184437931741952,
     280           8 :                         -0.18253815850449168,
     281           8 :                         -0.24295835656819004,
     282           8 :                         -0.3030146309584343,
     283           8 :                         -0.3626173661988426,
     284           8 :                         -0.4216778525496929,
     285           8 :                         -0.48010846261161183,
     286           8 :                         -0.5378228254691266,
     287           8 :                         -0.5947359979791815,
     288           8 :                         -0.6507646328166162,
     289           8 :                         -0.7058271428964454,
     290           8 :                         -0.7598438618015483,
     291           8 :                         -0.8127371998540317,
     292           8 :                         -0.8644317954790264,
     293           8 :                         -0.9148546615210973,
     294           8 :                         -0.9639353261855772,
     295           8 :                         -1.0116059682901435,
     296           8 :                         -1.0578015465256445,
     297           8 :                         -1.1024599224396492,
     298           8 :                         -1.1455219768712817,
     299           8 :                         -1.1869317195816806,
     300           8 :                         -1.2266363918407948,
     301           8 :                         -1.2645865617480867,
     302           8 :                         -1.300736212082269,
     303           8 :                         -1.3350428204929832,
     304           8 :                         -1.3674674318657796,
     305           8 :                         -1.39797472271041,
     306           8 :                         -1.4265330574415525,
     307           8 :                         -1.453114536440374,
     308           8 :                         -1.4776950358049836,
     309           8 :                         -1.5002542387175255,
     310           8 :                         -1.5207756583756054,
     311           8 :                         -1.5392466524556816,
     312           8 :                         -1.5556584290961206,
     313           8 :                         -1.570006044407514,
     314           8 :                         -1.582288391537871,
     315           8 :                         -1.5925081813399824,
     316           8 :                         -1.6006719147079176,
     317           8 :                         -1.6067898466689672,
     318           8 :                         -1.610875942336377,
     319           8 :                         -1.6129478248470133,
     320           8 :                         -1.6130267154263658,
     321           8 :                         -1.6111373657412094,
     322           8 :                         -1.6073079827175654,
     323           8 :                         -1.6015701460184648,
     324           8 :                         -1.5939587183920816,
     325           8 :                         -1.5845117491163903,
     326           8 :                         -1.5732703707811346,
     327           8 :                         -1.5602786896618868,
     328           8 :                         -1.5455836699539478,
     329           8 :                         -1.5292350121459382,
     330           8 :                         -1.5112850258239534,
     331           8 :                         -1.491788497207062,
     332           8 :                         -1.4708025517235637,
     333           8 :                         -1.4483865119447796,
     334           8 :                         -1.4246017511989413,
     335           8 :                         -1.3995115431919796,
     336           8 :                         -1.373180907964323,
     337           8 :                         -1.3456764545131374,
     338           8 :                         -1.3170662204073935,
     339           8 :                         -1.2874195087183506,
     340           8 :                         -1.2568067225801987,
     341           8 :                         -1.2252991976839938,
     342           8 :                         -1.1929690329920124,
     343           8 :                         -1.1598889199383702,
     344           8 :                         -1.126131970353892,
     345           8 :                         -1.091771543317406,
     346           8 :                         -1.056881071089628,
     347           8 :                         -1.0215338842270827,
     348           8 :                         -0.9858030358983793,
     349           8 :                         -0.9497611253286321,
     350           8 :                         -0.9134801201734538,
     351           8 :                         -0.8770311774623835,
     352           8 :                         -0.8404844625401815,
     353           8 :                         -0.8039089651553144,
     354           8 :                         -0.7673723114725965,
     355           8 :                         -0.7309405702849278,
     356           8 :                         -0.694678051013885,
     357           8 :                         -0.6586470901417438,
     358           8 :                         -0.6229078213895192,
     359           8 :                         -0.5875179230652792,
     360           8 :                         -0.5525323332712235,
     361           8 :                         -0.5180029196262311,
     362           8 :                         -0.4839780840992146,
     363           8 :                         -0.4505022742321992,
     364           8 :                         -0.4176153573546913,
     365           8 :                         -0.3853517906163295,
     366           8 :                         -0.3537394799190827,
     367           8 :                         -0.3227981519318874,
     368           8 :                         -0.29253693880048004,
     369           8 :                         -0.262950638485734,
     370           8 :                         -0.23401363645206702,
     371           8 :                         -0.20566943971699614,
     372           8 :                         -0.17781131639713244,
     373           8 :                         -0.1502429589235722,
     374           8 :                         -0.12258739023785722,
     375           8 :                         -0.09402928486974793,
     376           8 :                         -0.06226588848255436,
     377           8 :                         -0.0};
     378           8 :             } else if (m == 2) {
     379             :                 // Blob evaulations with a = 1, alpha = 5 and m = 2, for values from 0 to 1.0
     380           8 :                 return {-0.0,
     381           8 :                         -0.06780768117960852,
     382           8 :                         -0.13548827711973616,
     383           8 :                         -0.20291502022494148,
     384           8 :                         -0.2699617772988131,
     385           8 :                         -0.336503364523465,
     386           8 :                         -0.4024158597822807,
     387           8 :                         -0.4675769114524211,
     388           8 :                         -0.5318660428039375,
     389           8 :                         -0.5951649511551781,
     390           8 :                         -0.6573578009495088,
     391           8 :                         -0.7183315099361487,
     392           8 :                         -0.7779760276580748,
     393           8 :                         -0.8361846054724478,
     394           8 :                         -0.8928540573537695,
     395           8 :                         -0.9478850107568905,
     396           8 :                         -1.0011821468460915,
     397           8 :                         -1.0526544294274727,
     398           8 :                         -1.1022153219549384,
     399           8 :                         -1.149782992014864,
     400           8 :                         -1.1952805027311246,
     401           8 :                         -1.2386359905703432,
     402           8 :                         -1.2797828290669018,
     403           8 :                         -1.3186597780283935,
     404           8 :                         -1.3552111178244786,
     405           8 :                         -1.3893867684057066,
     406           8 :                         -1.4211423927433124,
     407           8 :                         -1.450439484426457,
     408           8 :                         -1.4772454391995082,
     409           8 :                         -1.5015336102687844,
     410           8 :                         -1.5232833472553597,
     411           8 :                         -1.5424800187182375,
     412           8 :                         -1.5591150182198783,
     413           8 :                         -1.5731857539540095,
     414           8 :                         -1.5846956220033646,
     415           8 :                         -1.5936539633425848,
     416           8 :                         -1.6000760047486715,
     417           8 :                         -1.603982783828106,
     418           8 :                         -1.6054010584157734,
     419           8 :                         -1.6043632006461421,
     420           8 :                         -1.600907076041546,
     421           8 :                         -1.5950759080057269,
     422           8 :                         -1.5869181281530806,
     423           8 :                         -1.5764872129449328,
     424           8 :                         -1.563841507143734,
     425           8 :                         -1.5490440346341214,
     426           8 :                         -1.5321622971962698,
     427           8 :                         -1.5132680618516168,
     428           8 :                         -1.4924371374341256,
     429           8 :                         -1.4697491410711843,
     430           8 :                         -1.4452872552874492,
     431           8 :                         -1.4191379764719905,
     432           8 :                         -1.3913908554740595,
     433           8 :                         -1.3621382311157162,
     434           8 :                         -1.3314749574301852,
     435           8 :                         -1.2994981254532727,
     436           8 :                         -1.2663067804114772,
     437           8 :                         -1.232001635164393,
     438           8 :                         -1.1966847807708674,
     439           8 :                         -1.160459395058042,
     440           8 :                         -1.1234294500799022,
     441           8 :                         -1.0856994193575618,
     442           8 :                         -1.0473739857970485,
     443           8 :                         -1.0085577511822712,
     444           8 :                         -0.9693549481410969,
     445           8 :                         -0.9298691554814814,
     446           8 :                         -0.8902030177925294,
     447           8 :                         -0.8504579702027925,
     448           8 :                         -0.8107339691853905,
     449           8 :                         -0.7711292302974146,
     450           8 :                         -0.7317399737403671,
     451           8 :                         -0.6926601786301624,
     452           8 :                         -0.6539813468708464,
     453           8 :                         -0.6157922775375951,
     454           8 :                         -0.5781788526940611,
     455           8 :                         -0.5412238356000356,
     456           8 :                         -0.5050066823120596,
     457           8 :                         -0.4696033677479527,
     458           8 :                         -0.43508622738455155,
     459           8 :                         -0.40152381589765296,
     460           8 :                         -0.36898078425068154,
     461           8 :                         -0.33751777701733693,
     462           8 :                         -0.3071913521177943,
     463           8 :                         -0.2780539257089847,
     464           8 :                         -0.25015374577439475,
     465           8 :                         -0.22353489912735394,
     466           8 :                         -0.1982373582632427,
     467           8 :                         -0.17429707707756015,
     468           8 :                         -0.15174614842124765,
     469           8 :                         -0.1306130426760709,
     470           8 :                         -0.11092295658224333,
     471           8 :                         -0.0926983183873736,
     472           8 :                         -0.07595952479237222,
     473           8 :                         -0.06072603916725868,
     474           8 :                         -0.04701808593238235,
     475           8 :                         -0.03485939827254995,
     476           8 :                         -0.024281994048674854,
     477           8 :                         -0.015335335014670217,
     478           8 :                         -0.008106708104619532,
     479           8 :                         -0.0027799757213245483,
     480           8 :                         -0.0};
     481           8 :             }
     482          32 :         } else if (alpha == 7.5) {
     483          16 :             if (m == 1) {
     484             :                 // Blob evaulations with a = 1, alpha = 7.5 and m = 1, for values from 0 to 1.0
     485           8 :                 return {-0.0,
     486           8 :                         -0.07241495084698643,
     487           8 :                         -0.14466703922253218,
     488           8 :                         -0.2165939316897052,
     489           8 :                         -0.2880343507879577,
     490           8 :                         -0.35882859779904375,
     491           8 :                         -0.4288190692722565,
     492           8 :                         -0.49785076527200856,
     493           8 :                         -0.5657717873476202,
     494           8 :                         -0.6324338242708478,
     495           8 :                         -0.6976926236410406,
     496           8 :                         -0.7614084475205377,
     497           8 :                         -0.8234465103337589,
     498           8 :                         -0.8836773973419927,
     499           8 :                         -0.9419774620918768,
     500           8 :                         -0.9982292013284546,
     501           8 :                         -1.052321605963155,
     502           8 :                         -1.1041504867925311,
     503           8 :                         -1.1536187737746233,
     504           8 :                         -1.200636787785865,
     505           8 :                         -1.245122483901989,
     506           8 :                         -1.287001665370778,
     507           8 :                         -1.3262081675722321,
     508           8 :                         -1.362684011392151,
     509           8 :                         -1.3963795255676226,
     510           8 :                         -1.4272534376968664,
     511           8 :                         -1.455272933740707,
     512           8 :                         -1.4804136859779102,
     513           8 :                         -1.5026598495112224,
     514           8 :                         -1.5220040275544442,
     515           8 :                         -1.5384472058626921,
     516           8 :                         -1.55199865679763,
     517           8 :                         -1.56267581364601,
     518           8 :                         -1.5705041159332018,
     519           8 :                         -1.5755168265924697,
     520           8 :                         -1.5777548219654995,
     521           8 :                         -1.5772663557191389,
     522           8 :                         -1.574106797867371,
     523           8 :                         -1.5683383501855024,
     524           8 :                         -1.5600297393950497,
     525           8 :                         -1.5492558895824886,
     526           8 :                         -1.5360975753925095,
     527           8 :                         -1.5206410576063538,
     528           8 :                         -1.5029777027779179,
     529           8 :                         -1.4832035886543646,
     530           8 :                         -1.4614190971538208,
     531           8 :                         -1.4377284967100181,
     532           8 :                         -1.4122395158226402,
     533           8 :                         -1.3850629096722156,
     534           8 :                         -1.3563120216699673,
     535           8 :                         -1.3261023418158076,
     536           8 :                         -1.2945510637319317,
     537           8 :                         -1.2617766422250642,
     538           8 :                         -1.2278983532077519,
     539           8 :                         -1.1930358577780853,
     540           8 :                         -1.1573087722182203,
     541           8 :                         -1.1208362456253007,
     542           8 :                         -1.0837365468340898,
     543           8 :                         -1.0461266622290433,
     544           8 :                         -1.0081219059753013,
     545           8 :                         -0.9698355441231151,
     546           8 :                         -0.9313784339593727,
     547           8 :                         -0.8928586798931916,
     548           8 :                         -0.8543813070707299,
     549           8 :                         -0.8160479538176909,
     550           8 :                         -0.7779565839069803,
     551           8 :                         -0.7402012195440995,
     552           8 :                         -0.7028716958545148,
     553           8 :                         -0.6660534375459036,
     554           8 :                         -0.6298272583041974,
     555           8 :                         -0.5942691833661163,
     556           8 :                         -0.5594502955926605,
     557           8 :                         -0.5254366052479041,
     558           8 :                         -0.49228894356557085,
     559           8 :                         -0.4600628800618465,
     560           8 :                         -0.4288086634263202,
     561           8 :                         -0.3985711856926835,
     562           8 :                         -0.36938996925518025,
     563           8 :                         -0.3412991761529581,
     564           8 :                         -0.3143276388879587,
     565           8 :                         -0.28849891186590054,
     566           8 :                         -0.26383134234333566,
     567           8 :                         -0.24033815950945578,
     568           8 :                         -0.21802758000172284,
     569           8 :                         -0.19690292770447096,
     570           8 :                         -0.17696276503452257,
     571           8 :                         -0.15820103195005367,
     572           8 :                         -0.14060718740482167,
     573           8 :                         -0.12416634550538615,
     574           8 :                         -0.10885939445637816,
     575           8 :                         -0.09466307901782807,
     576           8 :                         -0.08155001361394922,
     577           8 :                         -0.06948856684135377,
     578           8 :                         -0.058442503655584024,
     579           8 :                         -0.04837015053510147,
     580           8 :                         -0.039222554360971905,
     581           8 :                         -0.030939297547201764,
     582           8 :                         -0.02343801989008018,
     583           8 :                         -0.0165829220056439,
     584           8 :                         -0.010049253935595227,
     585           8 :                         -0.0};
     586           8 :             } else if (m == 2) {
     587             :                 // Blob evaulations with a = 1, alpha = 7.5 and m = 2, for values from 0 to 1.0
     588           8 :                 return {-0.0,
     589           8 :                         -0.07769098464274034,
     590           8 :                         -0.15518037347234012,
     591           8 :                         -0.23226732622269844,
     592           8 :                         -0.30875251028613243,
     593           8 :                         -0.3844388459708989,
     594           8 :                         -0.45913224152152693,
     595           8 :                         -0.5326423145706437,
     596           8 :                         -0.604783096759932,
     597           8 :                         -0.6753737183533233,
     598           8 :                         -0.7442390697670577,
     599           8 :                         -0.8112104370582878,
     600           8 :                         -0.8761261085458513,
     601           8 :                         -0.9388319498828767,
     602           8 :                         -0.9991819450603868,
     603           8 :                         -1.0570387009929998,
     604           8 :                         -1.1122739135213628,
     605           8 :                         -1.164768792860085,
     606           8 :                         -1.2144144467235525,
     607           8 :                         -1.2611122195741247,
     608           8 :                         -1.3047739866565742,
     609           8 :                         -1.3453224017080985,
     610           8 :                         -1.3826910974636333,
     611           8 :                         -1.4168248383102628,
     612           8 :                         -1.4476796246809382,
     613           8 :                         -1.4752227490153702,
     614           8 :                         -1.4994328033534403,
     615           8 :                         -1.5202996388626002,
     616           8 :                         -1.5378242778342293,
     617           8 :                         -1.552018778913541,
     618           8 :                         -1.562906056552209,
     619           8 :                         -1.570519655891258,
     620           8 :                         -1.5749034844926193,
     621           8 :                         -1.5761115025403563,
     622           8 :                         -1.574207373325422,
     623           8 :                         -1.569264076010401,
     624           8 :                         -1.5613634828416036,
     625           8 :                         -1.5505959031347731,
     626           8 :                         -1.5370595965062808,
     627           8 :                         -1.5208602579536301,
     628           8 :                         -1.502110477506581,
     629           8 :                         -1.480929177272751,
     630           8 :                         -1.457441028788659,
     631           8 :                         -1.431775853658453,
     632           8 :                         -1.4040680105177585,
     633           8 :                         -1.3744557713990448,
     634           8 :                         -1.3430806905973072,
     635           8 :                         -1.3100869691410442,
     636           8 :                         -1.275620817963179,
     637           8 :                         -1.2398298228401676,
     638           8 :                         -1.2028623141251698,
     639           8 :                         -1.1648667442432459,
     640           8 :                         -1.1259910758434086,
     641           8 :                         -1.086382183414702,
     642           8 :                         -1.0461852710716781,
     643           8 :                         -1.0055433090994563,
     644           8 :                         -0.9645964917208084,
     645           8 :                         -0.9234817184080505,
     646           8 :                         -0.8823321009118432,
     647           8 :                         -0.8412764980184207,
     648           8 :                         -0.8004390798769224,
     649           8 :                         -0.7599389235607502,
     650           8 :                         -0.7198896413420146,
     651           8 :                         -0.6803990429674528,
     652           8 :                         -0.6415688330287239,
     653           8 :                         -0.6034943443208579,
     654           8 :                         -0.5662643078811233,
     655           8 :                         -0.5299606601977286,
     656           8 :                         -0.49465838787492955,
     657           8 :                         -0.46042540983931435,
     658           8 :                         -0.42732249697264685,
     659           8 :                         -0.39540322886077445,
     660           8 :                         -0.36471398715695463,
     661           8 :                         -0.3352939848728696,
     662           8 :                         -0.3071753307326837,
     663           8 :                         -0.28038312755618355,
     664           8 :                         -0.25493560347762106,
     665           8 :                         -0.23084427465891738,
     666           8 :                         -0.2081141380210743,
     667           8 :                         -0.18674389239801786,
     668           8 :                         -0.16672618641526565,
     669           8 :                         -0.14804789131513288,
     670           8 :                         -0.1306903968953521,
     671           8 :                         -0.11462992870580156,
     672           8 :                         -0.0998378846686358,
     673           8 :                         -0.08628118936628222,
     674           8 :                         -0.07392266440475362,
     675           8 :                         -0.06272141354807492,
     676           8 :                         -0.052633221804167934,
     677           8 :                         -0.043610968447785094,
     678           8 :                         -0.035605055319589164,
     679           8 :                         -0.02856385407611022,
     680           8 :                         -0.022434180252563902,
     681           8 :                         -0.017161809887783548,
     682           8 :                         -0.012692070267750337,
     683           8 :                         -0.008970570597231688,
     684           8 :                         -0.005944220514474687,
     685           8 :                         -0.0035629099795605724,
     686           8 :                         -0.001782980842507198,
     687           8 :                         -0.0005771716363401995,
     688           8 :                         -0.0};
     689           8 :             }
     690          16 :         } else if (alpha == Approx(10.83)) {
     691          16 :             if (m == 1) {
     692             :                 // Blob evaulations with a = 1, alpha = 10.83 and m = 0, for values from 0 to 1.0
     693           8 :                 return {-0.0,
     694           8 :                         -0.08549984026761001,
     695           8 :                         -0.17072208239140316,
     696           8 :                         -0.25539049145599496,
     697           8 :                         -0.33923155048790277,
     698           8 :                         -0.4219757982013247,
     699           8 :                         -0.5033591414475242,
     700           8 :                         -0.5831241342238286,
     701           8 :                         -0.6610212153422091,
     702           8 :                         -0.7368098971586319,
     703           8 :                         -0.8102598981203354,
     704           8 :                         -0.8811522122961025,
     705           8 :                         -0.9492801095110626,
     706           8 :                         -1.0144500602089472,
     707           8 :                         -1.076482579706935,
     708           8 :                         -1.1352129870869088,
     709           8 :                         -1.190492074577474,
     710           8 :                         -1.2421866839184907,
     711           8 :                         -1.2901801868591984,
     712           8 :                         -1.3343728676167999,
     713           8 :                         -1.3746822058095702,
     714           8 :                         -1.411043059071377,
     715           8 :                         -1.4434077452478782,
     716           8 :                         -1.4717460247629617,
     717           8 :                         -1.496044984421918,
     718           8 :                         -1.5163088245803076,
     719           8 :                         -1.5325585522493126,
     720           8 :                         -1.5448315833248183,
     721           8 :                         -1.553181257713913,
     722           8 :                         -1.5576762716846946,
     723           8 :                         -1.558400032279075,
     724           8 :                         -1.5554499391004266,
     725           8 :                         -1.5489365992145896,
     726           8 :                         -1.5389829812817357,
     727           8 :                         -1.5257235153649427,
     728           8 :                         -1.509303145137451,
     729           8 :                         -1.4898763394325802,
     730           8 :                         -1.4676060702474918,
     731           8 :                         -1.4426627644235277,
     732           8 :                         -1.4152232362815986,
     733           8 :                         -1.3854696084916887,
     734           8 :                         -1.353588228401295,
     735           8 :                         -1.3197685869402513,
     736           8 :                         -1.284202247060166,
     737           8 :                         -1.2470817884579766,
     738           8 :                         -1.2085997750772282,
     739           8 :                         -1.1689477515803985,
     740           8 :                         -1.1283152746441918,
     741           8 :                         -1.086888984550545,
     742           8 :                         -1.0448517221328584,
     743           8 :                         -1.0023816956936944,
     744           8 :                         -0.9596517020408879,
     745           8 :                         -0.9168284052980535,
     746           8 :                         -0.8740716766372262,
     747           8 :                         -0.8315339975602657,
     748           8 :                         -0.7893599288261924,
     749           8 :                         -0.7476856465883376,
     750           8 :                         -0.7066385467724514,
     751           8 :                         -0.6663369181990599,
     752           8 :                         -0.6268896844347566,
     753           8 :                         -0.5883962138515453,
     754           8 :                         -0.5509461968850489,
     755           8 :                         -0.5146195890146231,
     756           8 :                         -0.4794866175449323,
     757           8 :                         -0.4456078498521187,
     758           8 :                         -0.41303432037142646,
     759           8 :                         -0.3818077132493505,
     760           8 :                         -0.3519605972642322,
     761           8 :                         -0.323516709336635,
     762           8 :                         -0.2964912827060825,
     763           8 :                         -0.27089141564501173,
     764           8 :                         -0.24671647641479558,
     765           8 :                         -0.22395854004263124,
     766           8 :                         -0.20260285241212733,
     767           8 :                         -0.1826283171139817,
     768           8 :                         -0.16400800049561198,
     769           8 :                         -0.14670965037880496,
     770           8 :                         -0.13069622398103703,
     771           8 :                         -0.11592642067729776,
     772           8 :                         -0.10235521537298914,
     773           8 :                         -0.08993438842239877,
     774           8 :                         -0.07861304821863029,
     775           8 :                         -0.06833814279661843,
     776           8 :                         -0.05905495702738001,
     777           8 :                         -0.05070759223463777,
     778           8 :                         -0.04323942532902969,
     779           8 :                         -0.03659354482299295,
     780           8 :                         -0.030713161350365423,
     781           8 :                         -0.02554199055147808,
     782           8 :                         -0.02102460636642979,
     783           8 :                         -0.017106762847846277,
     784           8 :                         -0.013735682439226739,
     785           8 :                         -0.010860307999472126,
     786           8 :                         -0.008431514052664273,
     787           8 :                         -0.006402268152025606,
     788           8 :                         -0.004727721099914972,
     789           8 :                         -0.0033651693463591843,
     790           8 :                         -0.0022737121974922593,
     791           8 :                         -0.0014129017679336262,
     792           8 :                         -0.0007361597600503701,
     793           8 :                         -0.0};
     794           8 :             } else if (m == 2) {
     795             :                 // Blob evaulations with a = 1, alpha = 10.83 and m = 1, for values from 0 to 1.0
     796           8 :                 return {-0.0,
     797           8 :                         -0.08970870892840589,
     798           8 :                         -0.17909654687881035,
     799           8 :                         -0.26784437875727957,
     800           8 :                         -0.35563652930600537,
     801           8 :                         -0.4421624832871329,
     802           8 :                         -0.5271185502529296,
     803           8 :                         -0.6102094825408508,
     804           8 :                         -0.6911500355067857,
     805           8 :                         -0.7696664594718747,
     806           8 :                         -0.8454979134036369,
     807           8 :                         -0.9183977909758657,
     808           8 :                         -0.9881349503484358,
     809           8 :                         -1.0544948397713847,
     810           8 :                         -1.1172805119409395,
     811           8 :                         -1.1763135209110158,
     812           8 :                         -1.2314346962846365,
     813           8 :                         -1.2825047903674207,
     814           8 :                         -1.3294049949516629,
     815           8 :                         -1.372037325405639,
     816           8 :                         -1.4103248707603944,
     817           8 :                         -1.444211909506026,
     818           8 :                         -1.4736638918232672,
     819           8 :                         -1.4986672899749498,
     820           8 :                         -1.5192293195573565,
     821           8 :                         -1.5353775352556074,
     822           8 :                         -1.5471593056519102,
     823           8 :                         -1.5546411724936946,
     824           8 :                         -1.5579081006331938,
     825           8 :                         -1.557062625594656,
     826           8 :                         -1.5522239064042773,
     827           8 :                         -1.5435266919261814,
     828           8 :                         -1.5311202094804435,
     829           8 :                         -1.5151669849732547,
     830           8 :                         -1.495841604141175,
     831           8 :                         -1.4733294247995286,
     832           8 :                         -1.4478252501872437,
     833           8 :                         -1.419531973617019,
     834           8 :                         -1.3886592046701633,
     835           8 :                         -1.3554218871210428,
     836           8 :                         -1.3200389186386585,
     837           8 :                         -1.2827317820945643,
     838           8 :                         -1.243723198010711,
     839           8 :                         -1.2032358073113427,
     840           8 :                         -1.1614908931045327,
     841           8 :                         -1.118707149716182,
     842           8 :                         -1.0750995066379099,
     843           8 :                         -1.030878014436251,
     844           8 :                         -0.9862467990103835,
     845           8 :                         -0.9414030898858058,
     846           8 :                         -0.8965363274991592,
     847           8 :                         -0.8518273536716898,
     848           8 :                         -0.8074476886930679,
     849           8 :                         -0.7635588976507305,
     850           8 :                         -0.7203120478497846,
     851           8 :                         -0.6778472583820527,
     852           8 :                         -0.6362933421270739,
     853           8 :                         -0.5957675397095211,
     854           8 :                         -0.5563753442030087,
     855           8 :                         -0.5182104146659609,
     856           8 :                         -0.4813545759264531,
     857           8 :                         -0.445877901405388,
     858           8 :                         -0.41183887518544293,
     859           8 :                         -0.3792846290013888,
     860           8 :                         -0.348251249349081,
     861           8 :                         -0.3187641494889199,
     862           8 :                         -0.2908385007571138,
     863           8 :                         -0.26447971729660674,
     864           8 :                         -0.2396839880801905,
     865           8 :                         -0.21643884992163567,
     866           8 :                         -0.19472379505661072,
     867           8 :                         -0.17451090682304785,
     868           8 :                         -0.15576551697911548,
     869           8 :                         -0.13844687826434998,
     870           8 :                         -0.12250884593330752,
     871           8 :                         -0.10790056216855802,
     872           8 :                         -0.09456713750756723,
     873           8 :                         -0.08245032369235135,
     874           8 :                         -0.07148917266760471,
     875           8 :                         -0.06162067680795976,
     876           8 :                         -0.05278038584350806,
     877           8 :                         -0.044902996369897634,
     878           8 :                         -0.0379229102703325,
     879           8 :                         -0.03177475883674966,
     880           8 :                         -0.026393889851509665,
     881           8 :                         -0.02171681537458387,
     882           8 :                         -0.017681618470379065,
     883           8 :                         -0.014228317599792588,
     884           8 :                         -0.011299187895158045,
     885           8 :                         -0.008839039029507416,
     886           8 :                         -0.0067954498934794565,
     887           8 :                         -0.005118960820510834,
     888           8 :                         -0.0037632246942695476,
     889           8 :                         -0.002685119026170983,
     890           8 :                         -0.0018448222347190884,
     891           8 :                         -0.001205859493358183,
     892           8 :                         -0.0007351283953634148,
     893           8 :                         -0.00040292828426683115,
     894           8 :                         -0.00018306476980228695,
     895           8 :                         -5.333866529830615e-05,
     896           8 :                         -0.0};
     897           8 :             }
     898           0 :         }
     899          64 :     }
     900           0 :     return {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
     901           0 :             0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
     902           0 :             0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
     903           0 :             0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
     904           0 :             0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
     905           0 :             0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
     906           0 : }
     907             : TEST_SUITE_END();

Generated by: LCOV version 1.14