diff --git a/include/boost/math/filters/daubechies.hpp b/include/boost/math/filters/daubechies.hpp index 87d5bbf36..24a71150c 100644 --- a/include/boost/math/filters/daubechies.hpp +++ b/include/boost/math/filters/daubechies.hpp @@ -13,6 +13,9 @@ #include namespace boost::math::filters { +//typedef boost::multiprecision::number, boost::int32_t, -262142, 262143>, boost::multiprecision::et_off> octuple_type; +typedef boost::multiprecision::cpp_bin_float_oct octuple_type; + template constexpr std::array daubechies_scaling_filter() { @@ -32,8 +35,8 @@ constexpr std::array daubechies_scaling_filter() return {0x1.6a09e667f3bcc908b2fb1366ea95p-1Q, 0x1.6a09e667f3bcc908b2fb1366ea95p-1Q}; } #endif - if constexpr (std::is_same_v) { - return {boost::lexical_cast("0.707106781186547524400844362104849039284835937688474036588339868995366237195"), boost::lexical_cast("0.707106781186547524400844362104849039284835937688474036588339868995366237195")}; + if constexpr (std::is_same_v) { + return {boost::lexical_cast("0.707106781186547524400844362104849039284835937688474036588339868995366237195"), boost::lexical_cast("0.707106781186547524400844362104849039284835937688474036588339868995366237195")}; } } if constexpr (p == 2) { @@ -51,8 +54,8 @@ constexpr std::array daubechies_scaling_filter() return {0x1.ee8dd4748bf14c548b969de58fap-2Q, 0x1.ac4bdd6e3fd70aae9f48d8a63d1bp-1Q, 0x1.cb0bf0b6b7108b79b4bf11d08b16p-3Q, -0x1.0907dc1930690697b13714fd4a15p-3Q}; } #endif - if constexpr (std::is_same_v) { - return {boost::lexical_cast("0.482962913144534143374871599864448683816952419504202275201171538155211606550"), boost::lexical_cast("0.836516303737807905575293780916873203459370388348439293495341472652894725147"), boost::lexical_cast("0.224143868042013381025972762240400355467883518184271761387168330840154631777"), boost::lexical_cast("-0.129409522551260381174449418812024164174534450659965256907001603657528486820")}; + if constexpr (std::is_same_v) { + return {boost::lexical_cast("0.482962913144534143374871599864448683816952419504202275201171538155211606550"), boost::lexical_cast("0.836516303737807905575293780916873203459370388348439293495341472652894725147"), boost::lexical_cast("0.224143868042013381025972762240400355467883518184271761387168330840154631777"), boost::lexical_cast("-0.129409522551260381174449418812024164174534450659965256907001603657528486820")}; } } if constexpr (p == 3) { @@ -70,8 +73,8 @@ constexpr std::array daubechies_scaling_filter() return {0x1.54a796e50d263b67e38e82a5584cp-2Q, 0x1.9d20e247d28bb431f1e6c634b34ep-1Q, 0x1.d6ea20bf0f7447ac92de97f0e152p-2Q, -0x1.1480a85c596292857548d060a171p-3Q, -0x1.5df7ab50d483c40c41dbcf2191cfp-4Q, 0x1.2092e373789b9781e66814a5fa37p-5Q}; } #endif - if constexpr (std::is_same_v) { - return {boost::lexical_cast("0.332670552950082615998511589139005630012923399245068359708470578551793724009"), boost::lexical_cast("0.806891509311092576494493604088713490519297394994823618165092063603486835060"), boost::lexical_cast("0.459877502118491570095151942147616720808110177431492306643386780248640335647"), boost::lexical_cast("-0.135011020010254588696389906699374480562219845223781191975686255357062767858"), boost::lexical_cast("-0.0854412738820266616928191691817733115361976389880866297635174898050678201973"), boost::lexical_cast("0.0352262918857095366027406647155100293277583879174316103989340607489421719736")}; + if constexpr (std::is_same_v) { + return {boost::lexical_cast("0.332670552950082615998511589139005630012923399245068359708470578551793724009"), boost::lexical_cast("0.806891509311092576494493604088713490519297394994823618165092063603486835060"), boost::lexical_cast("0.459877502118491570095151942147616720808110177431492306643386780248640335647"), boost::lexical_cast("-0.135011020010254588696389906699374480562219845223781191975686255357062767858"), boost::lexical_cast("-0.0854412738820266616928191691817733115361976389880866297635174898050678201973"), boost::lexical_cast("0.0352262918857095366027406647155100293277583879174316103989340607489421719736")}; } } if constexpr (p == 4) { @@ -89,8 +92,8 @@ constexpr std::array daubechies_scaling_filter() return {0x1.d7d052af15ebfcd98dc85ef4cc01p-3Q, 0x1.6e005ea45d747c624e43405b1919p-1Q, 0x1.4302cdd3de439e1a299a6a04b89fp-1Q, -0x1.ca7c6f9db5bfafb07b9dace22f7p-6Q, -0x1.7f0c1b7c604d3ef4ab50462dfcedp-3Q, 0x1.f94e2196383a8e592495a4baff62p-6Q, 0x1.0d60ac768117b7550c2a3307e30fp-5Q, -0x1.5b41730b72e293b823fb2cbd40c6p-7Q}; } #endif - if constexpr (std::is_same_v) { - return {boost::lexical_cast("0.230377813308896500863291183044070850001615248248309297791096844028271643620"), boost::lexical_cast("0.714846570552915647089921955273992603707608401099308175845011003442625044997"), boost::lexical_cast("0.630880767929858907881716338300615220203222922677195117405747328484353359854"), boost::lexical_cast("-0.0279837694168598542114137471800753854119873202244917528400335826533630929593"), boost::lexical_cast("-0.187034811719093084079570672789081419584544174374580091205777087593992585799"), boost::lexical_cast("0.0308413818355607636272193625349590501703148217200340334182121909360632337258"), boost::lexical_cast("0.0328830116668851997354075135492443886645419411375497125972727840767338203692"), boost::lexical_cast("-0.0105974017850690321048832085240272291810999649063764198348497427299589480739")}; + if constexpr (std::is_same_v) { + return {boost::lexical_cast("0.230377813308896500863291183044070850001615248248309297791096844028271643620"), boost::lexical_cast("0.714846570552915647089921955273992603707608401099308175845011003442625044997"), boost::lexical_cast("0.630880767929858907881716338300615220203222922677195117405747328484353359854"), boost::lexical_cast("-0.0279837694168598542114137471800753854119873202244917528400335826533630929593"), boost::lexical_cast("-0.187034811719093084079570672789081419584544174374580091205777087593992585799"), boost::lexical_cast("0.0308413818355607636272193625349590501703148217200340334182121909360632337258"), boost::lexical_cast("0.0328830116668851997354075135492443886645419411375497125972727840767338203692"), boost::lexical_cast("-0.0105974017850690321048832085240272291810999649063764198348497427299589480739")}; } } if constexpr (p == 5) { @@ -108,8 +111,8 @@ constexpr std::array daubechies_scaling_filter() return {0x1.47e3c41a7b91081ae95ed12670b7p-3Q, 0x1.35291c2c4b00c30a87eaf4d05e71p-1Q, 0x1.72d89143b54f4ecd724f0b79d111p-1Q, 0x1.1b80373befcc598b25a1d5436079p-3Q, -0x1.f0384d3f814743c3d93da5cd8909p-3Q, -0x1.0826648a8dc73f96ef19214f403ep-5Q, 0x1.3dbb9b52515a99ecaa66a225e968p-4Q, -0x1.990ad4579f2e7e2dc54832641bd8p-8Q, -0x1.9c3eff32941286062a45cb776526p-7Q, 0x1.b5385e04e3c0912c23cbbf7041e8p-9Q}; } #endif - if constexpr (std::is_same_v) { - return {boost::lexical_cast("0.160102397974192914480723748020420733650544124625057832772569920207547214207"), boost::lexical_cast("0.603829269797189670540119306525062107507422163101698698796928336036862837113"), boost::lexical_cast("0.724308528437772927728071244102218640768756218232007372576733504804092797357"), boost::lexical_cast("0.138428145901320731505397146339024697314105791173956102269465221088552175948"), boost::lexical_cast("-0.242294887066382031862571379474616361991490808062618598391372691341065474637"), boost::lexical_cast("-0.0322448695846383746484797550621349283135649841637984722543426813198116091835"), boost::lexical_cast("0.0775714938400457135231304893886018198062309945201252798321014623895567160574"), boost::lexical_cast("-0.00624149021279827427419051911292019297076355716568760732341743532590851604324"), boost::lexical_cast("-0.0125807519990819994685097399317757929492045916260978502016923270647650161437"), boost::lexical_cast("0.00333572528547377127799818341581735574763652474230531509970642851567135111157")}; + if constexpr (std::is_same_v) { + return {boost::lexical_cast("0.160102397974192914480723748020420733650544124625057832772569920207547214207"), boost::lexical_cast("0.603829269797189670540119306525062107507422163101698698796928336036862837113"), boost::lexical_cast("0.724308528437772927728071244102218640768756218232007372576733504804092797357"), boost::lexical_cast("0.138428145901320731505397146339024697314105791173956102269465221088552175948"), boost::lexical_cast("-0.242294887066382031862571379474616361991490808062618598391372691341065474637"), boost::lexical_cast("-0.0322448695846383746484797550621349283135649841637984722543426813198116091835"), boost::lexical_cast("0.0775714938400457135231304893886018198062309945201252798321014623895567160574"), boost::lexical_cast("-0.00624149021279827427419051911292019297076355716568760732341743532590851604324"), boost::lexical_cast("-0.0125807519990819994685097399317757929492045916260978502016923270647650161437"), boost::lexical_cast("0.00333572528547377127799818341581735574763652474230531509970642851567135111157")}; } } if constexpr (p == 6) { @@ -127,8 +130,8 @@ constexpr std::array daubechies_scaling_filter() return {0x1.c8def24dc3951c2a6dae413b8ddbp-4Q, 0x1.fa7eaf64539a97bd50da008738e1p-2Q, 0x1.80949fa3bc0bae02bf1b494d3af8p-1Q, 0x1.42d0fcfa92f20ff1b5b87f2f698cp-2Q, -0x1.cf63dd26916f0b589f7743608e82p-3Q, -0x1.09c33622722ead8a0ff038a97bp-3Q, 0x1.8f5dd7f4e175279c5a356a3fbcc9p-4Q, 0x1.c2ef43d6125497c75e24a80c6bfap-6Q, -0x1.02b856404e8cdf85933c3736d91cp-5Q, 0x1.225f71210a7c1202de723c931ed6p-11Q, 0x1.391514c62a31adcdfa747aebbdeep-8Q, -0x1.1a6873b7a6465e0ff5c033201061p-10Q}; } #endif - if constexpr (std::is_same_v) { - return {boost::lexical_cast("0.111540743350109463621323917240923439042539591984421675908236045797651596176"), boost::lexical_cast("0.494623890398453085677204176877855588637786382896274362353183452618869845497"), boost::lexical_cast("0.751133908021095350678934498439731685580254783338261200973042065947992668343"), boost::lexical_cast("0.315250351709197629085989654810926396649519923517294524440416381606252448494"), boost::lexical_cast("-0.226264693965439820076314500660903465670540153972896994014348779178970276888"), boost::lexical_cast("-0.129766867567261935562289605876585460845233749223581470159931065581720412930"), boost::lexical_cast("0.0975016055873230491023435525381253423398307474952551427989319312112779815986"), boost::lexical_cast("0.0275228655303057286255408395041932136573875878304345432149420287900002992420"), boost::lexical_cast("-0.0315820393174860295650790806998486690574795323731484233751146493526060457826"), boost::lexical_cast("0.000553842201161496139251918398046501220611026277386496429547652456752475273329"), boost::lexical_cast("0.00477725751094551063963597524682070705023050121658143429759325457002031530381"), boost::lexical_cast("-0.00107730108530847956485262160958720003523523360933441968981858089478841770562")}; + if constexpr (std::is_same_v) { + return {boost::lexical_cast("0.111540743350109463621323917240923439042539591984421675908236045797651596176"), boost::lexical_cast("0.494623890398453085677204176877855588637786382896274362353183452618869845497"), boost::lexical_cast("0.751133908021095350678934498439731685580254783338261200973042065947992668343"), boost::lexical_cast("0.315250351709197629085989654810926396649519923517294524440416381606252448494"), boost::lexical_cast("-0.226264693965439820076314500660903465670540153972896994014348779178970276888"), boost::lexical_cast("-0.129766867567261935562289605876585460845233749223581470159931065581720412930"), boost::lexical_cast("0.0975016055873230491023435525381253423398307474952551427989319312112779815986"), boost::lexical_cast("0.0275228655303057286255408395041932136573875878304345432149420287900002992420"), boost::lexical_cast("-0.0315820393174860295650790806998486690574795323731484233751146493526060457826"), boost::lexical_cast("0.000553842201161496139251918398046501220611026277386496429547652456752475273329"), boost::lexical_cast("0.00477725751094551063963597524682070705023050121658143429759325457002031530381"), boost::lexical_cast("-0.00107730108530847956485262160958720003523523360933441968981858089478841770562")}; } } if constexpr (p == 7) { @@ -146,8 +149,8 @@ constexpr std::array daubechies_scaling_filter() return {0x1.3ee1cba38b6b0a205a4c9aac651fp-4Q, 0x1.960e67430300363014da61e0a27dp-2Q, 0x1.7550cd294c1fe3f40f374c82e23dp-1Q, 0x1.e10e9ba294ddc02a47644f227fffp-2Q, -0x1.26b830e491e32da8b525e8ab6aa1p-3Q, -0x1.cad37bbd5ab970931a91ed1dfe9cp-3Q, 0x1.241522ca7821c638e85eb5e52839p-4Q, 0x1.4a30727f2fa52896ef76d0300cfp-4Q, -0x1.378a8eecf45cc0627b1c4b5cace1p-5Q, -0x1.0f8eaa8ffe708c22b1145a6b8cc8p-6Q, 0x1.9b45682a50d70110df27e4af9e36p-7Q, 0x1.c271f584373d41d177397b25f7ebp-12Q, -0x1.d84a0f9cb2f314e62607c084aab4p-10Q, 0x1.72e5533fa10d324758be56783dp-12Q}; } #endif - if constexpr (std::is_same_v) { - return {boost::lexical_cast("0.0778520540850091790199635219578937483791830529279556843870293717996297655927"), boost::lexical_cast("0.396539319481917306539000390936842856358715114933328740111049962075487815071"), boost::lexical_cast("0.729132090846235119916943070339282051717966061190136378269771574955357027757"), boost::lexical_cast("0.469782287405193122471591160974451738681791305678735953239252914100836922120"), boost::lexical_cast("-0.143906003928564975405068362213046001795273570549908483440175301422991840895"), boost::lexical_cast("-0.224036184993874982638140420233250964475783089677324655266509530724151657744"), boost::lexical_cast("0.0713092192668302647508765705011290482271132745141231465957511322020290613667"), boost::lexical_cast("0.0806126091510830719129224803593819058582382096562948905813921847722652754485"), boost::lexical_cast("-0.0380299369350144135795920616018580358544619693846786989828312271657410616427"), boost::lexical_cast("-0.0165745416306668806541076748917026547920450439482071370523927254871434907950"), boost::lexical_cast("0.0125509985560998406129898860341877795728947404604871003841181834416741023260"), boost::lexical_cast("0.000429577972921366521132129122819732222823535039694240974294636693544941849482"), boost::lexical_cast("-0.00180164070404749091526826291273955096258565146964109062532386481459081601883"), boost::lexical_cast("0.000353713799974520248446295836306425431095906005952004001252427564526433555672")}; + if constexpr (std::is_same_v) { + return {boost::lexical_cast("0.0778520540850091790199635219578937483791830529279556843870293717996297655927"), boost::lexical_cast("0.396539319481917306539000390936842856358715114933328740111049962075487815071"), boost::lexical_cast("0.729132090846235119916943070339282051717966061190136378269771574955357027757"), boost::lexical_cast("0.469782287405193122471591160974451738681791305678735953239252914100836922120"), boost::lexical_cast("-0.143906003928564975405068362213046001795273570549908483440175301422991840895"), boost::lexical_cast("-0.224036184993874982638140420233250964475783089677324655266509530724151657744"), boost::lexical_cast("0.0713092192668302647508765705011290482271132745141231465957511322020290613667"), boost::lexical_cast("0.0806126091510830719129224803593819058582382096562948905813921847722652754485"), boost::lexical_cast("-0.0380299369350144135795920616018580358544619693846786989828312271657410616427"), boost::lexical_cast("-0.0165745416306668806541076748917026547920450439482071370523927254871434907950"), boost::lexical_cast("0.0125509985560998406129898860341877795728947404604871003841181834416741023260"), boost::lexical_cast("0.000429577972921366521132129122819732222823535039694240974294636693544941849482"), boost::lexical_cast("-0.00180164070404749091526826291273955096258565146964109062532386481459081601883"), boost::lexical_cast("0.000353713799974520248446295836306425431095906005952004001252427564526433555672")}; } } if constexpr (p == 8) { @@ -165,8 +168,8 @@ constexpr std::array daubechies_scaling_filter() return {0x1.bdc64ada308dd431e90c51caaddfp-5Q, 0x1.4061690b4c31e70689f16560d4fdp-2Q, 0x1.59ec45992376070ce88329890c41p-1Q, 0x1.2bb39bedb5e27d5c19af764e6b08p-1Q, -0x1.03581459a95c5ec9b8a25898e79fp-6Q, -0x1.22d4f8724d56f584680effd871d8p-2Q, 0x1.ef6f9caf662af8d967c439494864p-12Q, 0x1.07acbb163ba0883fad048482f33cp-3Q, -0x1.1c9420f07509ca8be1e93402904ap-6Q, -0x1.692bc518a7fe18cb861085169737p-5Q, 0x1.ca215cd5b85b39449ec69ab26159p-7Q, 0x1.1e978df35f5fc0eabddff5ee9da6p-7Q, -0x1.3f2ef6d3ac74a30f6f64186b6be2p-8Q, -0x1.9ac501798e65cefa54cc7686cbfep-12Q, 0x1.622148e2ef341527c8d993cd7e86p-11Q, -0x1.ecbbbc88e3fc2ec652987ddfb595p-14Q}; } #endif - if constexpr (std::is_same_v) { - return {boost::lexical_cast("0.0544158422431040099550094052029993550359955429473305039772928086771936225734"), boost::lexical_cast("0.312871590914299970659162375505717721949731974037022918569871242115311497533"), boost::lexical_cast("0.675630736297289806807800767047183149986911590633636422776675983811728748708"), boost::lexical_cast("0.585354683654206712771265520045098194430326667805336905570717534889570522452"), boost::lexical_cast("-0.0158291052563493056673805478764663041577447115450282655973533595603126615697"), boost::lexical_cast("-0.284015542961546926516203132374164732468435012487145179359920480909375859275"), boost::lexical_cast("0.000472484573913282770360590009825894986194801128877007464408409602299544658383"), boost::lexical_cast("0.128747426620478458857029287509708384302260157555648879557700016549770662789"), boost::lexical_cast("-0.0173693010018075461696161488680959831141308652948839431697731538851197479461"), boost::lexical_cast("-0.0440882539307947515067637232389635018975183919011099647275039198547543351349"), boost::lexical_cast("0.0139810279173982816487229305726334514423955953293434716914636811442629383260"), boost::lexical_cast("0.00874609404740577671638274324647564018040214708114067674268674702611775846381"), boost::lexical_cast("-0.00487035299345157431042218155710982401663497851215700376473620853219217075614"), boost::lexical_cast("-0.000391740373376947046298080357323776267522935007389049372449269467759195224284"), boost::lexical_cast("0.000675449406450569366369547573879299121848963001355843210361707737505966890496"), boost::lexical_cast("-0.000117476784124769533730628231698890944408669395031150392762001353514813073214")}; + if constexpr (std::is_same_v) { + return {boost::lexical_cast("0.0544158422431040099550094052029993550359955429473305039772928086771936225734"), boost::lexical_cast("0.312871590914299970659162375505717721949731974037022918569871242115311497533"), boost::lexical_cast("0.675630736297289806807800767047183149986911590633636422776675983811728748708"), boost::lexical_cast("0.585354683654206712771265520045098194430326667805336905570717534889570522452"), boost::lexical_cast("-0.0158291052563493056673805478764663041577447115450282655973533595603126615697"), boost::lexical_cast("-0.284015542961546926516203132374164732468435012487145179359920480909375859275"), boost::lexical_cast("0.000472484573913282770360590009825894986194801128877007464408409602299544658383"), boost::lexical_cast("0.128747426620478458857029287509708384302260157555648879557700016549770662789"), boost::lexical_cast("-0.0173693010018075461696161488680959831141308652948839431697731538851197479461"), boost::lexical_cast("-0.0440882539307947515067637232389635018975183919011099647275039198547543351349"), boost::lexical_cast("0.0139810279173982816487229305726334514423955953293434716914636811442629383260"), boost::lexical_cast("0.00874609404740577671638274324647564018040214708114067674268674702611775846381"), boost::lexical_cast("-0.00487035299345157431042218155710982401663497851215700376473620853219217075614"), boost::lexical_cast("-0.000391740373376947046298080357323776267522935007389049372449269467759195224284"), boost::lexical_cast("0.000675449406450569366369547573879299121848963001355843210361707737505966890496"), boost::lexical_cast("-0.000117476784124769533730628231698890944408669395031150392762001353514813073214")}; } } if constexpr (p == 9) { @@ -184,8 +187,8 @@ constexpr std::array daubechies_scaling_filter() return {0x1.37ef3e540da7c3aa0d1dcf5bb03fp-5Q, 0x1.f35f9808bc2a0772556b997598d3p-3Q, 0x1.35ab60603a287a1609387fb893b8p-1Q, 0x1.5088101e8fe3530163beb11528dcp-1Q, 0x1.10c9ca803fb2272d1e1cf6fa2d0cp-3Q, -0x1.2c4ff66fd53eee10d811f3bf5459p-2Q, -0x1.8ca8ebcdc98fc4aa06bb294a039cp-4Q, 0x1.303621e43e77126c475b311fee41p-3Q, 0x1.f768d94677996d7b05f99f12d599p-6Q, -0x1.1506294f451a1f48db3652c40168p-4Q, 0x1.07231a6b6ca0cb934ff78371a261p-12Q, 0x1.6e5f9be058887734b49665246c12p-6Q, -0x1.358a39f783bbf21cd3bb737b9bf7p-8Q, -0x1.1897b64b3bfb583210060e933d6p-8Q, 0x1.e4597bbfc711eadc2635b08cc11dp-10Q, 0x1.e3276a3bc510acb32c14bfd1c3d9p-13Q, -0x1.0833da803978a3e6248db817fff9p-12Q, 0x1.4a11ba1ad31b48b0c2e32412ef31p-15Q}; } #endif - if constexpr (std::is_same_v) { - return {boost::lexical_cast("0.0380779473638783465886976588795511844877171449627841747664719248482680479602"), boost::lexical_cast("0.243834674612590353732041581649284415526361108560923136142908810357641947074"), boost::lexical_cast("0.604823123690111111903076867434236170895956271189611756533371353266219479839"), boost::lexical_cast("0.657288078051300538078212639045173214030585866924591885443603406558844920237"), boost::lexical_cast("0.133197385825007576190954945899795553692178076843366113615434683783912029373"), boost::lexical_cast("-0.293273783279174908806403195242198731043896162858990682572511282649777494073"), boost::lexical_cast("-0.0968407832229764605135081335376966022482545810459909967947126760842963820075"), boost::lexical_cast("0.148540749338106380135072717506042302479125857728060306077164939460051558202"), boost::lexical_cast("0.0307256814793333792123174007203788271410580502467074478150306050580744709008"), boost::lexical_cast("-0.0676328290613299736756422748297190159257879087135373990074833120984537787038"), boost::lexical_cast("0.000250947114831451957587189749988554331517627199370963332183416469143399245077"), boost::lexical_cast("0.0223616621236790972053737827026909524185564668830885375472181623365153339468"), boost::lexical_cast("-0.00472320475775139727792570784824246540572951491262793801875852685657845737998"), boost::lexical_cast("-0.00428150368246342983449679500231453187648118181146328837486045503769103000912"), boost::lexical_cast("0.00184764688305622647661912949112567705112108135960031816073251504574674723494"), boost::lexical_cast("0.000230385763523195967205216392824542169294066205246371197226000686680376244675"), boost::lexical_cast("-0.000251963188942710136974988684287860660728218154347802821413426535123097430873"), boost::lexical_cast("0.0000393473203162715994806898830658915070778247705551701350735993815544054870406")}; + if constexpr (std::is_same_v) { + return {boost::lexical_cast("0.0380779473638783465886976588795511844877171449627841747664719248482680479602"), boost::lexical_cast("0.243834674612590353732041581649284415526361108560923136142908810357641947074"), boost::lexical_cast("0.604823123690111111903076867434236170895956271189611756533371353266219479839"), boost::lexical_cast("0.657288078051300538078212639045173214030585866924591885443603406558844920237"), boost::lexical_cast("0.133197385825007576190954945899795553692178076843366113615434683783912029373"), boost::lexical_cast("-0.293273783279174908806403195242198731043896162858990682572511282649777494073"), boost::lexical_cast("-0.0968407832229764605135081335376966022482545810459909967947126760842963820075"), boost::lexical_cast("0.148540749338106380135072717506042302479125857728060306077164939460051558202"), boost::lexical_cast("0.0307256814793333792123174007203788271410580502467074478150306050580744709008"), boost::lexical_cast("-0.0676328290613299736756422748297190159257879087135373990074833120984537787038"), boost::lexical_cast("0.000250947114831451957587189749988554331517627199370963332183416469143399245077"), boost::lexical_cast("0.0223616621236790972053737827026909524185564668830885375472181623365153339468"), boost::lexical_cast("-0.00472320475775139727792570784824246540572951491262793801875852685657845737998"), boost::lexical_cast("-0.00428150368246342983449679500231453187648118181146328837486045503769103000912"), boost::lexical_cast("0.00184764688305622647661912949112567705112108135960031816073251504574674723494"), boost::lexical_cast("0.000230385763523195967205216392824542169294066205246371197226000686680376244675"), boost::lexical_cast("-0.000251963188942710136974988684287860660728218154347802821413426535123097430873"), boost::lexical_cast("0.0000393473203162715994806898830658915070778247705551701350735993815544054870406")}; } } if constexpr (p == 10) { @@ -203,8 +206,8 @@ constexpr std::array daubechies_scaling_filter() return {0x1.b4f6549dc7ae2d0da711a289f0cap-6Q, 0x1.8162d69198cfdb39a90922d70e5fp-3Q, 0x1.0ded5071bf8739f750ffec152978p-1Q, 0x1.607db4062d7753edab576af3e0dcp-1Q, 0x1.1feba4923f566c829244a5b4f4c2p-2Q, -0x1.ffaf7b6c111e2f4b082d1396dfd9p-3Q, -0x1.914c47c1ca801c5176763b1002edp-3Q, 0x1.04da377a0ae834bb94a9fa4f0243p-3Q, 0x1.7d29b819fd18d32d43de1a7d3641p-4Q, -0x1.246e307349ac4648ebbb94e378bbp-4Q, -0x1.e2a1dd5152b24d9c384763b949a8p-6Q, 0x1.1014069cb8f3bf95bd45be617d84p-5Q, 0x1.d8b7db3e21713e4ea2df5435db4ap-9Q, -0x1.5fb466d770edc4c0f4a29d7e3176p-7Q, 0x1.6dc8787ae38dd789b768877a70c2p-10Q, 0x1.0526072a98cd7f8751cc002da048p-9Q, -0x1.67962098c50f012db290a44515a5p-11Q, -0x1.e87f555dc50dd253428e6067701p-14Q, 0x1.888a11cfae432f4e4bd0c734fcc9p-14Q, -0x1.bd12a2a1a43db4fff0519cd821dfp-17Q}; } #endif - if constexpr (std::is_same_v) { - return {boost::lexical_cast("0.0266700579005555535866174487713085827719249829085128993277997577621650735643"), boost::lexical_cast("0.188176800077691489020892973679093994270254675864039348434859544409886608680"), boost::lexical_cast("0.527201188931725586481744827959508192498140268084022344531854947145139828409"), boost::lexical_cast("0.688459039453603565741871782549235853977136404240733953727968115839903445132"), boost::lexical_cast("0.281172343660577460748726998445589287624388885902615041383154395183374807120"), boost::lexical_cast("-0.249846424327315379416101897920779100056466973713207371501312159710676300514"), boost::lexical_cast("-0.195946274377377043504299254319098131876677647638277847439678187683856178731"), boost::lexical_cast("0.127369340335793260082677233201400977078617748042224599556309752373906702894"), boost::lexical_cast("0.0930573646035723511603522898354527322694291799894692586806397410224547567765"), boost::lexical_cast("-0.0713941471663970871453360930760506476729261198370215091752375634796582409510"), boost::lexical_cast("-0.0294575368218758128582832376014183919938820051606494877976965428318490167081"), boost::lexical_cast("0.0332126740593410017397636531821591289797833741326709604332335127083312999184"), boost::lexical_cast("0.00360655356695616965542329141713340329951735051861899476273061229128656318944"), boost::lexical_cast("-0.0107331754833305750443181141065136444811154878114392321337033393709343696195"), boost::lexical_cast("0.00139535174705290116578931844795770756766054285568855242672111772342943140108"), boost::lexical_cast("0.00199240529518505611715874224264064321176255536551410528006793647824864459995"), boost::lexical_cast("-0.000685856694959711626561370981926571419662504333678692051621190356175797931438"), boost::lexical_cast("-0.000116466855129285450951480971025899189152746185434759736281923507446885853623"), boost::lexical_cast("0.0000935886703200695913340501303422285439968845621529727644352187393967719605190"), boost::lexical_cast("-0.0000132642028945212448124366753122668330574924096060582975640067461946671323150")}; + if constexpr (std::is_same_v) { + return {boost::lexical_cast("0.0266700579005555535866174487713085827719249829085128993277997577621650735643"), boost::lexical_cast("0.188176800077691489020892973679093994270254675864039348434859544409886608680"), boost::lexical_cast("0.527201188931725586481744827959508192498140268084022344531854947145139828409"), boost::lexical_cast("0.688459039453603565741871782549235853977136404240733953727968115839903445132"), boost::lexical_cast("0.281172343660577460748726998445589287624388885902615041383154395183374807120"), boost::lexical_cast("-0.249846424327315379416101897920779100056466973713207371501312159710676300514"), boost::lexical_cast("-0.195946274377377043504299254319098131876677647638277847439678187683856178731"), boost::lexical_cast("0.127369340335793260082677233201400977078617748042224599556309752373906702894"), boost::lexical_cast("0.0930573646035723511603522898354527322694291799894692586806397410224547567765"), boost::lexical_cast("-0.0713941471663970871453360930760506476729261198370215091752375634796582409510"), boost::lexical_cast("-0.0294575368218758128582832376014183919938820051606494877976965428318490167081"), boost::lexical_cast("0.0332126740593410017397636531821591289797833741326709604332335127083312999184"), boost::lexical_cast("0.00360655356695616965542329141713340329951735051861899476273061229128656318944"), boost::lexical_cast("-0.0107331754833305750443181141065136444811154878114392321337033393709343696195"), boost::lexical_cast("0.00139535174705290116578931844795770756766054285568855242672111772342943140108"), boost::lexical_cast("0.00199240529518505611715874224264064321176255536551410528006793647824864459995"), boost::lexical_cast("-0.000685856694959711626561370981926571419662504333678692051621190356175797931438"), boost::lexical_cast("-0.000116466855129285450951480971025899189152746185434759736281923507446885853623"), boost::lexical_cast("0.0000935886703200695913340501303422285439968845621529727644352187393967719605190"), boost::lexical_cast("-0.0000132642028945212448124366753122668330574924096060582975640067461946671323150")}; } } if constexpr (p == 11) { @@ -222,8 +225,8 @@ constexpr std::array daubechies_scaling_filter() return {0x1.324991607609160c660c469077c4p-6Q, 0x1.270c9c42314cf5fa956419fe6ca8p-3Q, 0x1.ccb286198c9dee96d12668532b6cp-2Q, 0x1.5f125643212cb922d29e40df5ae5p-1Q, 0x1.a5d9fccefe816554cfd2c1b4c2eap-2Q, -0x1.4c56f6b2bf66c3c093c0529f8f7fp-3Q, -0x1.18cff89a8cc4603466567c5566b2p-2Q, 0x1.0e83b8b6a4d8e932eca95459a69cp-4Q, 0x1.32d0a3f0ba73261f3f385a0ab52ep-3Q, -0x1.7cc387e4a9a091c75d9de8faea58p-5Q, -0x1.10221dbbeff7c12d2228c7667179p-4Q, 0x1.00b27276a80990547cbd63f84547p-5Q, 0x1.557516a958be52b928260c4c6ad5p-6Q, -0x1.f77975a6883f7054b8b01c477981p-7Q, -0x1.b5e49f3346a8b7e121e98be0fcfbp-9Q, 0x1.42fd20a75f9abc16cec7fe76464bp-8Q, -0x1.439543c8411328be7c3dbb239962p-12Q, -0x1.d4338d3fdae3a1309e0d7105695cp-11Q, 0x1.05415f0bc6ea25b1e91fb2adce4fp-12Q, 0x1.c8ab05d193c378f97fff6933dc9bp-15Q, -0x1.228a0febb3e8bfe721948bedcf9cp-15Q, 0x1.2d9b0b4e10d77be6e48f3790bbdep-18Q}; } #endif - if constexpr (std::is_same_v) { - return {boost::lexical_cast("0.0186942977614710840254357293956197572896777445592195854328669208544639848493"), boost::lexical_cast("0.144067021150624512795191584936100114302371896755623960431885248217612109866"), boost::lexical_cast("0.449899764356045334768894037385360367780689537864893347459965579586344042705"), boost::lexical_cast("0.685686774916200511120938631696309793594020496456770349505158901745075089131"), boost::lexical_cast("0.411964368947907462925939648571066730743040041018784531569724251133330862864"), boost::lexical_cast("-0.162275245027490362240582726998551154074426432421213020964966742981832149727"), boost::lexical_cast("-0.274230846817946961202100945283526662864808952177517822190577839005023967370"), boost::lexical_cast("0.0660435881966831919006145788812630265675314216894079154111345722601572700631"), boost::lexical_cast("0.149812012466378496406656261704419329858827242026748465379690959421507533896"), boost::lexical_cast("-0.0464799551166841872716172258902374457722326096684826074745032098759584318172"), boost::lexical_cast("-0.0664387856950252052789921553697120319181956689607973962285857402336065270973"), boost::lexical_cast("0.0313350902190460760309479840830314453635810568088003196493644550909547400332"), boost::lexical_cast("0.0208409043601810630229481125565649101515776183273471569112669220076703474398"), boost::lexical_cast("-0.0153648209062015994261981160995882274401432649577300012020584862793777385002"), boost::lexical_cast("-0.00334085887301444560609080861798240610193065835949919084565673177725408174281"), boost::lexical_cast("0.00492841765605904112317073974170827369028554772991580241839745801019376641230"), boost::lexical_cast("-0.000308592858815143165175459072627895330718021660507848858192156227602365444134"), boost::lexical_cast("-0.000893023250666264613390082462264865398987951987862072879313335822408534301830"), boost::lexical_cast("0.000249152523552823498871221687266680108822119930285542538197139249093202823549"), boost::lexical_cast("0.0000544390746993684716735785687957683219193667852560079397804368892016829413126"), boost::lexical_cast("-0.0000346349841869849955412808515997404321450648804823345803594360135567940224107"), boost::lexical_cast("0.00000449427427723651009541564828231013091641049798738375346057174174843400859633")}; + if constexpr (std::is_same_v) { + return {boost::lexical_cast("0.0186942977614710840254357293956197572896777445592195854328669208544639848493"), boost::lexical_cast("0.144067021150624512795191584936100114302371896755623960431885248217612109866"), boost::lexical_cast("0.449899764356045334768894037385360367780689537864893347459965579586344042705"), boost::lexical_cast("0.685686774916200511120938631696309793594020496456770349505158901745075089131"), boost::lexical_cast("0.411964368947907462925939648571066730743040041018784531569724251133330862864"), boost::lexical_cast("-0.162275245027490362240582726998551154074426432421213020964966742981832149727"), boost::lexical_cast("-0.274230846817946961202100945283526662864808952177517822190577839005023967370"), boost::lexical_cast("0.0660435881966831919006145788812630265675314216894079154111345722601572700631"), boost::lexical_cast("0.149812012466378496406656261704419329858827242026748465379690959421507533896"), boost::lexical_cast("-0.0464799551166841872716172258902374457722326096684826074745032098759584318172"), boost::lexical_cast("-0.0664387856950252052789921553697120319181956689607973962285857402336065270973"), boost::lexical_cast("0.0313350902190460760309479840830314453635810568088003196493644550909547400332"), boost::lexical_cast("0.0208409043601810630229481125565649101515776183273471569112669220076703474398"), boost::lexical_cast("-0.0153648209062015994261981160995882274401432649577300012020584862793777385002"), boost::lexical_cast("-0.00334085887301444560609080861798240610193065835949919084565673177725408174281"), boost::lexical_cast("0.00492841765605904112317073974170827369028554772991580241839745801019376641230"), boost::lexical_cast("-0.000308592858815143165175459072627895330718021660507848858192156227602365444134"), boost::lexical_cast("-0.000893023250666264613390082462264865398987951987862072879313335822408534301830"), boost::lexical_cast("0.000249152523552823498871221687266680108822119930285542538197139249093202823549"), boost::lexical_cast("0.0000544390746993684716735785687957683219193667852560079397804368892016829413126"), boost::lexical_cast("-0.0000346349841869849955412808515997404321450648804823345803594360135567940224107"), boost::lexical_cast("0.00000449427427723651009541564828231013091641049798738375346057174174843400859633")}; } } if constexpr (p == 12) { @@ -241,8 +244,8 @@ constexpr std::array daubechies_scaling_filter() return {0x1.ada9978d2fa568b21229688156b8p-7Q, 0x1.c0c890682f8790d7f6bb1c1aa44ep-4Q, 0x1.82696272e40bd05e57c851b9cb36p-2Q, 0x1.507c59d8e6f6ac435d1e88e090b6p-1Q, 0x1.082245c29797798f324c3b86f65cp-1Q, -0x1.6eb4ac1d9855ccfed03d4133c6fbp-5Q, -0x1.43c448da45b222f8d287f72956dcp-2Q, -0x1.85996f0f3b3b27b5f0ec32953a95p-6Q, 0x1.75b757e56dd3b6e26eea4e0a43bap-3Q, 0x1.5f3ea878d368e081a5d3cb36d936p-8Q, -0x1.8afc6821933836a0611906df913cp-4Q, 0x1.638119d1c4361bb00a2f22d1f90bp-7Q, 0x1.5458dbe394eb05c5aab3c4ceb31ap-5Q, -0x1.90617513f389b7954493854c387ep-7Q, -0x1.a4c4a623e2a50fc10158bea8a45cp-7Q, 0x1.b7d844bffa4e88c2ef52650eb0e3p-8Q, 0x1.26babd1f8d1809707edb54236067p-9Q, -0x1.1dac0186ec14265ff3ab908c13a3p-9Q, 0x1.b73c724cbcd24a84c3c597249f8dp-18Q, 0x1.9788431be0bfb2d1938d25135045p-12Q, -0x1.7336904b8b4e84c0e0396f9346efp-14Q, -0x1.96b4a56f63fa8a95abb9ecaeceaep-16Q, 0x1.acb92f10c4239fce7d915af19a6cp-17Q, -0x1.9a7502d7dc2f2e1e665f9ba74bc1p-20Q}; } #endif - if constexpr (std::is_same_v) { - return {boost::lexical_cast("0.0131122579572295175067460908889332806566551064193132500774828079813751369078"), boost::lexical_cast("0.109566272821185154605704505024890542607568050306677404638365743414594716237"), boost::lexical_cast("0.377355135214212657092821260487920614901094170605752633470583911562885099045"), boost::lexical_cast("0.657198722579307089302761128664116983425020328998841214139428195001939202386"), boost::lexical_cast("0.515886478427815608756032648054303270067769308703609005612764729867503168411"), boost::lexical_cast("-0.0447638856537746266676274731154016652928454363150592413907170410117965514990"), boost::lexical_cast("-0.316178453752785536864802935347803109850883903254736438957420337160049554984"), boost::lexical_cast("-0.0237792572560697276839975460913322578455336655833174115248261271603350281595"), boost::lexical_cast("0.182478605927579679854043611618924171029477144809630269832901126083410652478"), boost::lexical_cast("0.00535956967435215032827627672976833228886266518419270582163634261809269415715"), boost::lexical_cast("-0.0964321200965070820265032053432248412743088014304522051434640274861906048848"), boost::lexical_cast("0.0108491302558221843808901023774815218866163056760333465932251226434077741286"), boost::lexical_cast("0.0415462774950844407392709468190657486451353222138837486128707899413616614352"), boost::lexical_cast("-0.0122186490697482807199879826647156771298246609311655817534481104550208384247"), boost::lexical_cast("-0.0128408251983006832946603447189472849620610983231409763327522557348508782102"), boost::lexical_cast("0.00671149900879550917776702706821567245064811218585645674037945533688642441241"), boost::lexical_cast("0.00224860724099523759995086521126723401834319978614617709926201027901007445066"), boost::lexical_cast("-0.00217950361862776047159890337958417118784007529186057126498094298705073259759"), boost::lexical_cast("0.00000654512821250959556650043039932711072911177056889735663071455200741848443049"), boost::lexical_cast("0.000388653062820931443589728883779598179191748857342017752343609613138331820861"), boost::lexical_cast("-0.0000885041092082043242082164596155372659873832215147193280801544303001991847212"), boost::lexical_cast("-0.0000242415457570307840297891532053171958042377836266428223937753220729228844731"), boost::lexical_cast("0.0000127769522193797665871404636261662088737596094143942875605535392042653701946"), boost::lexical_cast("-0.00000152907175806851090271223916452290122319761543966034067260269641683218542373")}; + if constexpr (std::is_same_v) { + return {boost::lexical_cast("0.0131122579572295175067460908889332806566551064193132500774828079813751369078"), boost::lexical_cast("0.109566272821185154605704505024890542607568050306677404638365743414594716237"), boost::lexical_cast("0.377355135214212657092821260487920614901094170605752633470583911562885099045"), boost::lexical_cast("0.657198722579307089302761128664116983425020328998841214139428195001939202386"), boost::lexical_cast("0.515886478427815608756032648054303270067769308703609005612764729867503168411"), boost::lexical_cast("-0.0447638856537746266676274731154016652928454363150592413907170410117965514990"), boost::lexical_cast("-0.316178453752785536864802935347803109850883903254736438957420337160049554984"), boost::lexical_cast("-0.0237792572560697276839975460913322578455336655833174115248261271603350281595"), boost::lexical_cast("0.182478605927579679854043611618924171029477144809630269832901126083410652478"), boost::lexical_cast("0.00535956967435215032827627672976833228886266518419270582163634261809269415715"), boost::lexical_cast("-0.0964321200965070820265032053432248412743088014304522051434640274861906048848"), boost::lexical_cast("0.0108491302558221843808901023774815218866163056760333465932251226434077741286"), boost::lexical_cast("0.0415462774950844407392709468190657486451353222138837486128707899413616614352"), boost::lexical_cast("-0.0122186490697482807199879826647156771298246609311655817534481104550208384247"), boost::lexical_cast("-0.0128408251983006832946603447189472849620610983231409763327522557348508782102"), boost::lexical_cast("0.00671149900879550917776702706821567245064811218585645674037945533688642441241"), boost::lexical_cast("0.00224860724099523759995086521126723401834319978614617709926201027901007445066"), boost::lexical_cast("-0.00217950361862776047159890337958417118784007529186057126498094298705073259759"), boost::lexical_cast("0.00000654512821250959556650043039932711072911177056889735663071455200741848443049"), boost::lexical_cast("0.000388653062820931443589728883779598179191748857342017752343609613138331820861"), boost::lexical_cast("-0.0000885041092082043242082164596155372659873832215147193280801544303001991847212"), boost::lexical_cast("-0.0000242415457570307840297891532053171958042377836266428223937753220729228844731"), boost::lexical_cast("0.0000127769522193797665871404636261662088737596094143942875605535392042653701946"), boost::lexical_cast("-0.00000152907175806851090271223916452290122319761543966034067260269641683218542373")}; } } if constexpr (p == 13) { @@ -260,8 +263,8 @@ constexpr std::array daubechies_scaling_filter() return {0x1.2d89174d37e3b6596d64d168e49p-7Q, 0x1.53664fc8a3d4c0d33efd4b4bc6fap-4Q, 0x1.3f7bf6c09afe857e70d916613d78p-2Q, 0x1.38dc5001834baade66ebb6ec9fc1p-1Q, 0x1.2d82ef0bea471de1f0a3864a5cccp-1Q, 0x1.644b251290fb4bea9c417da1f71ep-4Q, -0x1.42884206fc5ade5015e8dd0e5832p-2Q, -0x1.fe442b86ad7635e6a44fa231478p-4Q, 0x1.6f91279c81aa3aed801eca5172e8p-3Q, 0x1.2acc804557c8ab4899f3d0916648p-4Q, -0x1.b163543c8eacbf70b0092010e485p-4Q, -0x1.b1fc6de2397062d67f76ff78186p-6Q, 0x1.cbe5044520d5e315c90c0ed1b10cp-5Q, 0x1.37f29dfe3e92c6d51003ce786db8p-9Q, -0x1.867439245b0c6d71509d7a14369ep-6Q, 0x1.0128d031aa3b020f68dbd131fc68p-8Q, 0x1.db80973172630eff11f1aa6bf206p-8Q, -0x1.6a025cdac7e0fe4d3e8433e38ffbp-9Q, -0x1.58e561b1f2cf60b1ce144cfab0ffp-10Q, 0x1.e8ceb1ee24cab5dbcf0c32d1591bp-11Q, 0x1.9d26d847f17c9a8ce68c968f105dp-15Q, -0x1.5a4cf360064a4020bfd19dc8e5fp-13Q, 0x1.0159a865542d28f1113c2ad46cb5p-15Q, 0x1.5e5f8028cd834a146bf59b16d932p-17Q, -0x1.3b708a4c3be3403a7da544157c5bp-18Q, 0x1.183f9db8da3a04f4c66e4459dad2p-21Q}; } #endif - if constexpr (std::is_same_v) { - return {boost::lexical_cast("0.00920213353896236797297016347564418466753417191641656238600970303711912173265"), boost::lexical_cast("0.0828612438729027796443202713123046640520811333289013507251427742009482956517"), boost::lexical_cast("0.311996322160438063396078411221404969394668352896718031716039017308515654041"), boost::lexical_cast("0.611055851158787652821199513674418056207361267601823943852658294015204037145"), boost::lexical_cast("0.588889570431218908071039534739533392766598638281283604223557340650249576137"), boost::lexical_cast("0.0869857261796472373102373983808749439923188407661970125088201664378054171345"), boost::lexical_cast("-0.314972907711388632998169825593228258287688845067878902595030681868130772999"), boost::lexical_cast("-0.124576730750815258941380833602126018079273929517363471957206932075260972005"), boost::lexical_cast("0.179476079429339843234845007233936901358196625624413339304288145469676423326"), boost::lexical_cast("0.0729489336567771638090283061047766198332592902687987355362796328461636696921"), boost::lexical_cast("-0.105807618187934326450966730419646484947886075480123665823236051077820681894"), boost::lexical_cast("-0.0264884064753436946396391224803478572641960484429769701626422412133519842633"), boost::lexical_cast("0.0561394771002834288621450199838733111998837879254310024473705625396675790207"), boost::lexical_cast("0.00237997225405907881146517095855420835809439461205193486847513927070930528134"), boost::lexical_cast("-0.0238314207103236490320640306775773913425292271763622627407729863341057724688"), boost::lexical_cast("0.00392394144879741624331637022081552655882474662345140404391840728787217413821"), boost::lexical_cast("0.00725558940161756619451839330050269889897352967964668369526982867260050623476"), boost::lexical_cast("-0.00276191123465686217801457626609844599535009333050181802496631648326614964558"), boost::lexical_cast("-0.00131567391189229893661383537059364337606041259265365230723812459474570122051"), boost::lexical_cast("0.000932326130867263386222651780254851410091808829980195230799156927112701492336"), boost::lexical_cast("0.0000492515251262894619214095738786659621010377829938882350084009445661139469929"), boost::lexical_cast("-0.000165128988556505489461668770923800075589854821465977670334780149359987420945"), boost::lexical_cast("0.0000306785375793254934664948322857547623660042821723790056312823074855283018382"), boost::lexical_cast("0.0000104419305714081370817071499108059695167070643621732816964147406843820801008"), boost::lexical_cast("-0.00000470041647936086832565019516506177132165038358297095855656805971133412246529"), boost::lexical_cast("0.000000522003509845486469173642435484317697674705215524355700153190105348895004025")}; + if constexpr (std::is_same_v) { + return {boost::lexical_cast("0.00920213353896236797297016347564418466753417191641656238600970303711912173265"), boost::lexical_cast("0.0828612438729027796443202713123046640520811333289013507251427742009482956517"), boost::lexical_cast("0.311996322160438063396078411221404969394668352896718031716039017308515654041"), boost::lexical_cast("0.611055851158787652821199513674418056207361267601823943852658294015204037145"), boost::lexical_cast("0.588889570431218908071039534739533392766598638281283604223557340650249576137"), boost::lexical_cast("0.0869857261796472373102373983808749439923188407661970125088201664378054171345"), boost::lexical_cast("-0.314972907711388632998169825593228258287688845067878902595030681868130772999"), boost::lexical_cast("-0.124576730750815258941380833602126018079273929517363471957206932075260972005"), boost::lexical_cast("0.179476079429339843234845007233936901358196625624413339304288145469676423326"), boost::lexical_cast("0.0729489336567771638090283061047766198332592902687987355362796328461636696921"), boost::lexical_cast("-0.105807618187934326450966730419646484947886075480123665823236051077820681894"), boost::lexical_cast("-0.0264884064753436946396391224803478572641960484429769701626422412133519842633"), boost::lexical_cast("0.0561394771002834288621450199838733111998837879254310024473705625396675790207"), boost::lexical_cast("0.00237997225405907881146517095855420835809439461205193486847513927070930528134"), boost::lexical_cast("-0.0238314207103236490320640306775773913425292271763622627407729863341057724688"), boost::lexical_cast("0.00392394144879741624331637022081552655882474662345140404391840728787217413821"), boost::lexical_cast("0.00725558940161756619451839330050269889897352967964668369526982867260050623476"), boost::lexical_cast("-0.00276191123465686217801457626609844599535009333050181802496631648326614964558"), boost::lexical_cast("-0.00131567391189229893661383537059364337606041259265365230723812459474570122051"), boost::lexical_cast("0.000932326130867263386222651780254851410091808829980195230799156927112701492336"), boost::lexical_cast("0.0000492515251262894619214095738786659621010377829938882350084009445661139469929"), boost::lexical_cast("-0.000165128988556505489461668770923800075589854821465977670334780149359987420945"), boost::lexical_cast("0.0000306785375793254934664948322857547623660042821723790056312823074855283018382"), boost::lexical_cast("0.0000104419305714081370817071499108059695167070643621732816964147406843820801008"), boost::lexical_cast("-0.00000470041647936086832565019516506177132165038358297095855656805971133412246529"), boost::lexical_cast("0.000000522003509845486469173642435484317697674705215524355700153190105348895004025")}; } } if constexpr (p == 14) { @@ -279,8 +282,8 @@ constexpr std::array daubechies_scaling_filter() return {0x1.a7702ace363ac35a31e24ad7f18bp-8Q, 0x1.fee460f5cb8771588fb11eee4edep-5Q, 0x1.04f777f62f422960e164233d2842p-2Q, 0x1.1bcdf22a1725c010c6b543c39465p-1Q, 0x1.432b0dc3136d3b304d5a3bf4569bp-1Q, 0x1.bfd66ae4258abee147e56af809ep-3Q, -0x1.1635861af071cce08b7655b9575p-2Q, -0x1.be885d06053beddff8849acb8697p-3Q, 0x1.1b6ef32bc7358856a3c8661f7dbbp-3Q, 0x1.1eb28fc03c55b30ce48dc30b7f77p-3Q, -0x1.63524d6aa4cf6fa795512cfa3aa5p-4Q, -0x1.2510847f3ed25a6abc4fb2ebbea9p-4Q, 0x1.c480a659de0cd4f4123d770896e6p-5Q, 0x1.ba103a92149f4583a4c79c292018p-6Q, -0x1.ee8e8a6bca9ac4ad53dedccf86b9p-6Q, -0x1.6ffce6192a67aceee5260da8193dp-8Q, 0x1.a3160ba7d924dde8cc52f58fbb97p-7Q, -0x1.873bd13c8af17ab00e30f03b73e4p-11Q, -0x1.f894721441f671f4ac26746366e6p-9Q, 0x1.1650e1f6ec4c290c75eee26e8b4ap-10Q, 0x1.7334fd9e58c69f69b95d47a6075fp-11Q, -0x1.959f69010da009a2eacf096b1dafp-12Q, -0x1.5e73f3c02020121b8b1dbc91cc8ap-15Q, 0x1.20612a2e814f83021e4b38a90018p-14Q, -0x1.5adbf364f5e1bddd8115a86dd662p-17Q, -0x1.26968e53fb76ce12ec5e07348937p-18Q, 0x1.cf0cbb4133dbb68c44095fc163dep-20Q, -0x1.7fc90f0c46da191bc033464815fbp-23Q}; } #endif - if constexpr (std::is_same_v) { - return {boost::lexical_cast("0.00646115346008794781816639744862281427232715941920119921810140416821319638585"), boost::lexical_cast("0.0623647588493988983279856675843487742830533369340766716460251880613807597066"), boost::lexical_cast("0.254850267792621353665907788677828668618704241636713744378008420238232719628"), boost::lexical_cast("0.554305617940893835992683144985115484407826983095163460968399777532226842271"), boost::lexical_cast("0.631187849104856779557661713535817234862395245657001728978880959248433640269"), boost::lexical_cast("0.218670687758906521491747591821751705176577432127043205903027323352534222868"), boost::lexical_cast("-0.271688552278748041414219247618117109460488246568333081431189666923849066652"), boost::lexical_cast("-0.218033529993276044755555881270231191197524066947060475274712704179785996228"), boost::lexical_cast("0.138395213864806591073993969002157371398990046322968611905911990239065683492"), boost::lexical_cast("0.139989016584460701249294316227116344032822155561432618133368381730127661592"), boost::lexical_cast("-0.0867484115681696890456082206672779538297914953951750365749296445982289331724"), boost::lexical_cast("-0.0715489555040461307358414511517380799095806967312953809999091309335447192979"), boost::lexical_cast("0.0552371262592160441161883406053340339791383363251167215767110765995965856731"), boost::lexical_cast("0.0269814083079129169739903140321519334337576659580727423328434928060131390138"), boost::lexical_cast("-0.0301853515403906351871482262348913757378157540665865262488375619379066007462"), boost::lexical_cast("-0.00561504953035695913321837136769149863745729720392581038769868016916017798506"), boost::lexical_cast("0.0127894932663334089615733070578407929937490386157205831348153451948141528455"), boost::lexical_cast("-0.000746218989268384937181716073918178097195818798881330290043548750870183218766"), boost::lexical_cast("-0.00384963886802218744578634931609555177409681850828570049305891572532777766984"), boost::lexical_cast("0.00106169108560676184303256674938841117303394158214783086389393956154388248847"), boost::lexical_cast("0.000708021154235527858644297769761712898347186346418159537167009442266803119446"), boost::lexical_cast("-0.000386831947312954482107666339805731442732890210784216537990146842609536038748"), boost::lexical_cast("-0.0000417772457703725973526797953983925892838972659013273013105432373007939629113"), boost::lexical_cast("0.0000687550425269750960387343702162803160189037068765187527988272789892867302714"), boost::lexical_cast("-0.0000103372091845707739466140734259481458626927250949074485069144305905647763599"), boost::lexical_cast("-0.00000438970490178139411525404256136716982932308536080082571815104919437269388055"), boost::lexical_cast("0.00000172499467536781276988571269274179852358789470986735657691071794719454646345"), boost::lexical_cast("-0.000000178713996831135907633419293847083934388299030997695944699402284569127317214")}; + if constexpr (std::is_same_v) { + return {boost::lexical_cast("0.00646115346008794781816639744862281427232715941920119921810140416821319638585"), boost::lexical_cast("0.0623647588493988983279856675843487742830533369340766716460251880613807597066"), boost::lexical_cast("0.254850267792621353665907788677828668618704241636713744378008420238232719628"), boost::lexical_cast("0.554305617940893835992683144985115484407826983095163460968399777532226842271"), boost::lexical_cast("0.631187849104856779557661713535817234862395245657001728978880959248433640269"), boost::lexical_cast("0.218670687758906521491747591821751705176577432127043205903027323352534222868"), boost::lexical_cast("-0.271688552278748041414219247618117109460488246568333081431189666923849066652"), boost::lexical_cast("-0.218033529993276044755555881270231191197524066947060475274712704179785996228"), boost::lexical_cast("0.138395213864806591073993969002157371398990046322968611905911990239065683492"), boost::lexical_cast("0.139989016584460701249294316227116344032822155561432618133368381730127661592"), boost::lexical_cast("-0.0867484115681696890456082206672779538297914953951750365749296445982289331724"), boost::lexical_cast("-0.0715489555040461307358414511517380799095806967312953809999091309335447192979"), boost::lexical_cast("0.0552371262592160441161883406053340339791383363251167215767110765995965856731"), boost::lexical_cast("0.0269814083079129169739903140321519334337576659580727423328434928060131390138"), boost::lexical_cast("-0.0301853515403906351871482262348913757378157540665865262488375619379066007462"), boost::lexical_cast("-0.00561504953035695913321837136769149863745729720392581038769868016916017798506"), boost::lexical_cast("0.0127894932663334089615733070578407929937490386157205831348153451948141528455"), boost::lexical_cast("-0.000746218989268384937181716073918178097195818798881330290043548750870183218766"), boost::lexical_cast("-0.00384963886802218744578634931609555177409681850828570049305891572532777766984"), boost::lexical_cast("0.00106169108560676184303256674938841117303394158214783086389393956154388248847"), boost::lexical_cast("0.000708021154235527858644297769761712898347186346418159537167009442266803119446"), boost::lexical_cast("-0.000386831947312954482107666339805731442732890210784216537990146842609536038748"), boost::lexical_cast("-0.0000417772457703725973526797953983925892838972659013273013105432373007939629113"), boost::lexical_cast("0.0000687550425269750960387343702162803160189037068765187527988272789892867302714"), boost::lexical_cast("-0.0000103372091845707739466140734259481458626927250949074485069144305905647763599"), boost::lexical_cast("-0.00000438970490178139411525404256136716982932308536080082571815104919437269388055"), boost::lexical_cast("0.00000172499467536781276988571269274179852358789470986735657691071794719454646345"), boost::lexical_cast("-0.000000178713996831135907633419293847083934388299030997695944699402284569127317214")}; } } if constexpr (p == 15) { @@ -298,8 +301,8 @@ constexpr std::array daubechies_scaling_filter() return {0x1.2970058a26dcd961f2ddf52bca08p-8Q, 0x1.7eec010bca4c417f3cf45c166751p-5Q, 0x1.a5efd6f02857dd0be400d7c02e2cp-3Q, 0x1.f8747691d3f737355530dd281d86p-2Q, 0x1.4aa8051a530b457c39051251b937p-1Q, 0x1.5b237b0c281791146b95d35023c4p-2Q, -0x1.8bae9ca895b451d87fbb9a690248p-3Q, -0x1.27d0d6e28e01f3ef0606971828aap-2Q, 0x1.0b6623378c72eb295fa0f634a67bp-4Q, 0x1.856ba3f0d1d5aaf4f59a12cbb286p-3Q, -0x1.44f200621040cdd51fafc7035006p-5Q, -0x1.c726bf22e4a15fea85834dbb1052p-4Q, 0x1.15858527779bc1c4ec7f8b6fdd21p-5Q, 0x1.c0c32426f4662ec60f158af78296p-5Q, -0x1.a62aa972a6fc3876e9915f565de4p-6Q, -0x1.54f3ad3a0b7c5bd971d938015013p-6Q, 0x1.ee451350034703acaa0dbe95c1aep-7Q, 0x1.4e4c95b98ec2d5e117559a2b0da9p-8Q, -0x1.a92e1fc2fdcad88a36c4f23f938p-8Q, -0x1.fb000715d8e6558a8e3b0bc34d7fp-13Q, 0x1.fd6e43c3dd5e86d041c185aa9428p-10Q, -0x1.879fe7f24ba0a4818b2d76fbd7e6p-12Q, -0x1.79080f71ee322531c0337932b9a5p-12Q, 0x1.46f04a6cb59007eab6af7b114fa4p-13Q, 0x1.b0bacca20c60f4939edefbff1354p-16Q, -0x1.d7ff965f47a09038cb01ea5da5e9p-16Q, 0x1.c35f5c15433718b508f832bbf1b8p-19Q, 0x1.e6358dfe44b5282546827ce8042cp-20Q, -0x1.532291d1cbfa3eda1a3275ffd36dp-21Q, 0x1.076d01633701901bb8cc971717bp-24Q}; } #endif - if constexpr (std::is_same_v) { - return {boost::lexical_cast("0.00453853736157889888145939491021169634666367124378878699791651359730618263777"), boost::lexical_cast("0.0467433948927662718917096933484357577657915170021494351311319734377213834945"), boost::lexical_cast("0.206023863986995731539891500947630721930613850564193090270204726624901561209"), boost::lexical_cast("0.492631771708139623606775707402994637261722156513093240216016003697522813162"), boost::lexical_cast("0.645813140357424358176420912010691799643260828749404618107148947895533066481"), boost::lexical_cast("0.339002535454731527691264114383577391875676949179355466933669011509397556470"), boost::lexical_cast("-0.193204139609145428706399053432147174630409003914286382793775492150589726686"), boost::lexical_cast("-0.288882596566965646248412500982233298131143563043534259497129296256293483504"), boost::lexical_cast("0.0652829528487728169228310791986957488203917428559614412596510130561953369929"), boost::lexical_cast("0.190146714007122982348489311658602051795950125817433669687815606055254287820"), boost::lexical_cast("-0.0396661765557909444838436675189620066838174282068373680544974535292838687668"), boost::lexical_cast("-0.111120936037231693365671032467405860885862376216591412050565788400539631609"), boost::lexical_cast("0.0338771439235076862085481784443352377086474468741126536946319599123012785905"), boost::lexical_cast("0.0547805505845076126891379031258187910860941599742276856424484536408030091303"), boost::lexical_cast("-0.0257670073284399625859452575426982639220364163482534013839683682541716280711"), boost::lexical_cast("-0.0208100501696930816778848342467700016205465795136489904099616617271926101264"), boost::lexical_cast("0.0150839180278359023632927446017032273624489282330562771623396889036950783790"), boost::lexical_cast("0.00510100036040754316970886018556531472480106652734422205552663106916575853665"), boost::lexical_cast("-0.00648773456031574499518168314921869081695584563938882640792896746945184786140"), boost::lexical_cast("-0.000241756490761624281166722532630017960522994699581453522332941192889131156009"), boost::lexical_cast("0.00194332398038221154176491233254108744101142486557953140145230261789465341230"), boost::lexical_cast("-0.000373482354137616992009809421364541461138763096803025662574022673555831120585"), boost::lexical_cast("-0.000359565244362468812164962007590980885819420245408409030562748046672838761659"), boost::lexical_cast("0.000155896489920599747947165824122710881625556705962549591522860363042830623991"), boost::lexical_cast("0.0000257926991553189368092586241761685591294404236876734070916011973700950042214"), boost::lexical_cast("-0.0000281332962660478136475532477707847866579144387629378890426725562075302388539"), boost::lexical_cast("0.00000336298718173757980312484521042017747213484665586407818718630450150330033976"), boost::lexical_cast("0.00000181127040794057708376851091228584116057708592533750785059029068086553957632"), boost::lexical_cast("-0.000000631688232588166442120159729951765765416613791512119551041664162606772181110"), boost::lexical_cast("0.0000000613335991330575202905629946028978860198919045088539651217384559505804672173")}; + if constexpr (std::is_same_v) { + return {boost::lexical_cast("0.00453853736157889888145939491021169634666367124378878699791651359730618263777"), boost::lexical_cast("0.0467433948927662718917096933484357577657915170021494351311319734377213834945"), boost::lexical_cast("0.206023863986995731539891500947630721930613850564193090270204726624901561209"), boost::lexical_cast("0.492631771708139623606775707402994637261722156513093240216016003697522813162"), boost::lexical_cast("0.645813140357424358176420912010691799643260828749404618107148947895533066481"), boost::lexical_cast("0.339002535454731527691264114383577391875676949179355466933669011509397556470"), boost::lexical_cast("-0.193204139609145428706399053432147174630409003914286382793775492150589726686"), boost::lexical_cast("-0.288882596566965646248412500982233298131143563043534259497129296256293483504"), boost::lexical_cast("0.0652829528487728169228310791986957488203917428559614412596510130561953369929"), boost::lexical_cast("0.190146714007122982348489311658602051795950125817433669687815606055254287820"), boost::lexical_cast("-0.0396661765557909444838436675189620066838174282068373680544974535292838687668"), boost::lexical_cast("-0.111120936037231693365671032467405860885862376216591412050565788400539631609"), boost::lexical_cast("0.0338771439235076862085481784443352377086474468741126536946319599123012785905"), boost::lexical_cast("0.0547805505845076126891379031258187910860941599742276856424484536408030091303"), boost::lexical_cast("-0.0257670073284399625859452575426982639220364163482534013839683682541716280711"), boost::lexical_cast("-0.0208100501696930816778848342467700016205465795136489904099616617271926101264"), boost::lexical_cast("0.0150839180278359023632927446017032273624489282330562771623396889036950783790"), boost::lexical_cast("0.00510100036040754316970886018556531472480106652734422205552663106916575853665"), boost::lexical_cast("-0.00648773456031574499518168314921869081695584563938882640792896746945184786140"), boost::lexical_cast("-0.000241756490761624281166722532630017960522994699581453522332941192889131156009"), boost::lexical_cast("0.00194332398038221154176491233254108744101142486557953140145230261789465341230"), boost::lexical_cast("-0.000373482354137616992009809421364541461138763096803025662574022673555831120585"), boost::lexical_cast("-0.000359565244362468812164962007590980885819420245408409030562748046672838761659"), boost::lexical_cast("0.000155896489920599747947165824122710881625556705962549591522860363042830623991"), boost::lexical_cast("0.0000257926991553189368092586241761685591294404236876734070916011973700950042214"), boost::lexical_cast("-0.0000281332962660478136475532477707847866579144387629378890426725562075302388539"), boost::lexical_cast("0.00000336298718173757980312484521042017747213484665586407818718630450150330033976"), boost::lexical_cast("0.00000181127040794057708376851091228584116057708592533750785059029068086553957632"), boost::lexical_cast("-0.000000631688232588166442120159729951765765416613791512119551041664162606772181110"), boost::lexical_cast("0.0000000613335991330575202905629946028978860198919045088539651217384559505804672173")}; } } if constexpr (p == 16) { @@ -317,8 +320,8 @@ constexpr std::array daubechies_scaling_filter() return {0x1.a2047f25eec85da6e57cd7f20965p-9Q, 0x1.1df6c86cbec60472edd73314093ap-5Q, 0x1.520d391a9410689a221d2a40ed0cp-3Q, 0x1.b8a3e5feb48792faed491d08e637p-2Q, 0x1.465391b4659339393dc6b44dd0b9p-1Q, 0x1.c2db72f84c20394e90d8314fee8dp-2Q, -0x1.6f9ed69c399c6d957cef0caf36cp-4Q, -0x1.4ee9af39c16ebfbef0c302e6791dp-2Q, -0x1.c96973b93bd864088cf77c5363e8p-6Q, 0x1.b084bf1dc763ab7d34b03cf7014cp-3Q, 0x1.bff160aba4bc2b81b5cb21d8ed3dp-6Q, -0x1.0f21999627c5eb1bdc396cd5510bp-3Q, -0x1.98ed2d2871d09c2ff301236b3aa5p-8Q, 0x1.36fc54ec8b1065ad541d9561e805p-4Q, -0x1.f159dcb973ff3c971dea81777e8cp-8Q, -0x1.2e3093b602a5114cced31fb3d21p-5Q, 0x1.516f07b10e2bfeeb35e5d488972dp-7Q, 0x1.ca8c3dcce54c309c6bfdafe5b818p-7Q, -0x1.ca18fbf2cc14161cd462d6382e8dp-8Q, -0x1.dda9bb9568c150b5b1b563e2a704p-9Q, 0x1.99ff0c3f2ed80a696d3f49d1ae83p-9Q, 0x1.abb6031610512ba452ab2c15607bp-12Q, -0x1.ed5dcd1b49a3f3c23377158c2ae9p-11Q, 0x1.df29e5ea1284520ed9350c7d7e2fp-14Q, 0x1.6e8e301063e5a66bc2dcbb672407p-13Q, -0x1.0000dea4283e8e4f97e320b5edbp-14Q, -0x1.d3f0626b575af7e0f5c7b70618f9p-17Q, 0x1.7c64ba15d23464b7681824c41ca1p-17Q, -0x1.1821ad345e7bfc3ef33cc03c406ap-20Q, -0x1.8b555407022a1683907685f46c79p-21Q, 0x1.efcebf5a99b7b789a7792201843ep-23Q, -0x1.6a61bcee28102f153c8290cebfbbp-26Q}; } #endif - if constexpr (std::is_same_v) { - return {boost::lexical_cast("0.00318922092534773802976954756464595868706708675013142876787587817778694863119"), boost::lexical_cast("0.0349077143236733464103014722402302000921824143050398414614005464773763780013"), boost::lexical_cast("0.165064283488853117899125273056113481158483500234272324021359282902034099572"), boost::lexical_cast("0.430312722846003813740392542435768462063397047803698677392464629118864929936"), boost::lexical_cast("0.637356332083788898631985241299603053649859594081419812596775159322552430035"), boost::lexical_cast("0.440290256886356900039086916357167928852780303513527257878988432216501129849"), boost::lexical_cast("-0.0897510894024896428571871807744259743065924744558266014962471841522684784655"), boost::lexical_cast("-0.327063310527917704646290567568911964175722891822881242814172353116733610255"), boost::lexical_cast("-0.0279182081330282766826451959502687320433997121917473604153547976243684979156"), boost::lexical_cast("0.211190693947104288720968016326883790092849142616767943925104282659239340555"), boost::lexical_cast("0.0273402637527160413648524575720161796542902781950713022023150026811811035864"), boost::lexical_cast("-0.132388305563810390450047414775649337509228781770602797879854902742212569323"), boost::lexical_cast("-0.00623972275247487176567450339412002586544465631167876099076145808663824556181"), boost::lexical_cast("0.0759242360442763158214849874394142246153040594610094335194031399951322105236"), boost::lexical_cast("-0.00758897436885773763849489086463699579658697514499092540009716094367144606278"), boost::lexical_cast("-0.0368883976917301423335266632089455431471874842970673083106406876512904740900"), boost::lexical_cast("0.0102976596409559694116500058007661690052885626580366220885414734497334909977"), boost::lexical_cast("0.0139937688598287310295045187367032972640984029172786898849010078360486452906"), boost::lexical_cast("-0.00699001456341391667028424953651728833805785619964646907811575967502711102002"), boost::lexical_cast("-0.00364427962149838993216900054093362938705533397335310866884121504669938973849"), boost::lexical_cast("0.00312802338120626883166120255985467876782147190619360811745036081031020620657"), boost::lexical_cast("0.000407896980849712836241747032340609578243195297231054671507139711098341190969"), boost::lexical_cast("-0.000941021749359567588926645395363587540775474721673448050925027367949065706153"), boost::lexical_cast("0.000114241520038722392644022809955566294583968434493647265287709142315097418924"), boost::lexical_cast("0.000174787245225338180380175863766074687498602472861539989797195359589183047664"), boost::lexical_cast("-0.0000610359662141093583516236915052221281195725998196591914396172281391485128503"), boost::lexical_cast("-0.0000139456689882088934519907831199840198232527356919867533540870797045644631590"), boost::lexical_cast("0.0000113366086612762585875884876288653699751947106820375366175784342881379088583"), boost::lexical_cast("-0.00000104357134231160650152545473726261540488747893063567647154603268028625910132"), boost::lexical_cast("-0.000000736365678545120551209969571972556364658544554584166332743356923285383067848"), boost::lexical_cast("0.000000230878408685754586640541273294200612130630673586665552537254486473108851937"), boost::lexical_cast("-0.0000000210933963010074309700057262360348990683629758459160530774534994952533728279")}; + if constexpr (std::is_same_v) { + return {boost::lexical_cast("0.00318922092534773802976954756464595868706708675013142876787587817778694863119"), boost::lexical_cast("0.0349077143236733464103014722402302000921824143050398414614005464773763780013"), boost::lexical_cast("0.165064283488853117899125273056113481158483500234272324021359282902034099572"), boost::lexical_cast("0.430312722846003813740392542435768462063397047803698677392464629118864929936"), boost::lexical_cast("0.637356332083788898631985241299603053649859594081419812596775159322552430035"), boost::lexical_cast("0.440290256886356900039086916357167928852780303513527257878988432216501129849"), boost::lexical_cast("-0.0897510894024896428571871807744259743065924744558266014962471841522684784655"), boost::lexical_cast("-0.327063310527917704646290567568911964175722891822881242814172353116733610255"), boost::lexical_cast("-0.0279182081330282766826451959502687320433997121917473604153547976243684979156"), boost::lexical_cast("0.211190693947104288720968016326883790092849142616767943925104282659239340555"), boost::lexical_cast("0.0273402637527160413648524575720161796542902781950713022023150026811811035864"), boost::lexical_cast("-0.132388305563810390450047414775649337509228781770602797879854902742212569323"), boost::lexical_cast("-0.00623972275247487176567450339412002586544465631167876099076145808663824556181"), boost::lexical_cast("0.0759242360442763158214849874394142246153040594610094335194031399951322105236"), boost::lexical_cast("-0.00758897436885773763849489086463699579658697514499092540009716094367144606278"), boost::lexical_cast("-0.0368883976917301423335266632089455431471874842970673083106406876512904740900"), boost::lexical_cast("0.0102976596409559694116500058007661690052885626580366220885414734497334909977"), boost::lexical_cast("0.0139937688598287310295045187367032972640984029172786898849010078360486452906"), boost::lexical_cast("-0.00699001456341391667028424953651728833805785619964646907811575967502711102002"), boost::lexical_cast("-0.00364427962149838993216900054093362938705533397335310866884121504669938973849"), boost::lexical_cast("0.00312802338120626883166120255985467876782147190619360811745036081031020620657"), boost::lexical_cast("0.000407896980849712836241747032340609578243195297231054671507139711098341190969"), boost::lexical_cast("-0.000941021749359567588926645395363587540775474721673448050925027367949065706153"), boost::lexical_cast("0.000114241520038722392644022809955566294583968434493647265287709142315097418924"), boost::lexical_cast("0.000174787245225338180380175863766074687498602472861539989797195359589183047664"), boost::lexical_cast("-0.0000610359662141093583516236915052221281195725998196591914396172281391485128503"), boost::lexical_cast("-0.0000139456689882088934519907831199840198232527356919867533540870797045644631590"), boost::lexical_cast("0.0000113366086612762585875884876288653699751947106820375366175784342881379088583"), boost::lexical_cast("-0.00000104357134231160650152545473726261540488747893063567647154603268028625910132"), boost::lexical_cast("-0.000000736365678545120551209969571972556364658544554584166332743356923285383067848"), boost::lexical_cast("0.000000230878408685754586640541273294200612130630673586665552537254486473108851937"), boost::lexical_cast("-0.0000000210933963010074309700057262360348990683629758459160530774534994952533728279")}; } } if constexpr (p == 17) { @@ -336,8 +339,8 @@ constexpr std::array daubechies_scaling_filter() return {0x1.25d68f81bd86c306bc9043f43f4p-9Q, 0x1.a9bea4085cef3d6d79a074d9709ep-6Q, 0x1.0cba6633a3a6d489f4c961323b24p-3Q, 0x1.7b3d3861245d02709eb04b0b2b39p-2Q, 0x1.38d48c64aa0daf396243783e95bep-1Q, 0x1.0960af0f4068e5ac2ea6e7c9135p-1Q, 0x1.bf874a24b1d55da571e39f2bf7e7p-6Q, -0x1.50335073492d1d5e6945d8cdee28p-2Q, -0x1.0346bb1b97633ba3dcc115a9814cp-3Q, 0x1.9417930ab08a311830b19e500034p-3Q, 0x1.9e403f27b713f2db7263ac22d15fp-4Q, -0x1.03b7f2067576f3b2927e9c5889d3p-3Q, -0x1.d3b162866891a8d294e6e9eb979p-5Q, 0x1.4c35ca8307eb62387847e8508ae5p-4Q, 0x1.6d90b88bab05f824bb4e728b7a1p-6Q, -0x1.80637c4a935c7dbdd09fd2c6d8fdp-5Q, -0x1.acbb0e1b24a7711aad0c2cc58d1fp-9Q, 0x1.7477f35c89772c79eec161a3cdd2p-6Q, -0x1.8ed9cce7691caca1362d6d7abefcp-9Q, -0x1.19e6894a383d0a23e4d18574889p-7Q, 0x1.85057173113925897d4027a40b6ep-9Q, 0x1.2d9fa2834b37aecc772ff5c2d7b1p-9Q, -0x1.78a90e5fc8eeb8c9dbcf2179c3bbp-10Q, -0x1.58126708ae49d0421a9c690b913dp-12Q, 0x1.ccd01a3d65144c8ab80302b0f5dbp-12Q, -0x1.adaa9541cd34139a00a6638e9bf6p-16Q, -0x1.5822674fd0b1a40e647125cde434p-14Q, 0x1.85029b61ff0fb98b3294c269c9e6p-16Q, 0x1.d5219c45df32dc63e76e89984d9dp-18Q, -0x1.2e63809757f52cc8ed09e415ace1p-18Q, 0x1.43e648c7ce72f3a94ea0d55898bap-22Q, 0x1.3d94aa0876b2cc113a8ea22e3eecp-22Q, -0x1.69ce4aed2f58e6ecb8a211f55ad1p-24Q, 0x1.f36b16a008a288af85eb1e1cec02p-28Q}; } #endif - if constexpr (std::is_same_v) { - return {boost::lexical_cast("0.00224180700103731285353596267707443691406219188056037073325053118133419193342"), boost::lexical_cast("0.0259853937036060433891486459172078831547394452487824129439994827687663725129"), boost::lexical_cast("0.131214903307824406577550623185906996014429360925997853006700439459033631661"), boost::lexical_cast("0.370350724152641150449254819072188644947707887689680382365042593579529628290"), boost::lexical_cast("0.610996615684622818188667886767937208273709389335872629137178390490835290734"), boost::lexical_cast("0.518315764056937839325453852808596804621681719771841640243990498683288900340"), boost::lexical_cast("0.0273149704032936350043125071914758648035046981896456300367294282283271222511"), boost::lexical_cast("-0.328320748363961736090966534072506176758159769815155802467913052689676377760"), boost::lexical_cast("-0.126599752215882702874467911093382550505396626010408616210372832359164928283"), boost::lexical_cast("0.197310589565010992785404704478193014255142241413564691712228422600456673716"), boost::lexical_cast("0.101135489177470272150969985643343480219662254549966487610943796293105029624"), boost::lexical_cast("-0.126815691778286311094857112866233168038479218591501706573213748994956827246"), boost::lexical_cast("-0.0570914196316769272891123947865138232416116086984534705399014464059382899408"), boost::lexical_cast("0.0811059866541608850796588574855542920102436419095449919402067822775070461335"), boost::lexical_cast("0.0223123361781037959533913605953481375623224211409368924402086919318268997481"), boost::lexical_cast("-0.0469224383892697373330089705921140050713876812549803060287843927826168188238"), boost::lexical_cast("-0.00327095553581929378165536022217749445206952595806160939280927575122449701285"), boost::lexical_cast("0.0227336765839462703184561624478844896990671374133833949802486413275635089855"), boost::lexical_cast("-0.00304298998135463706859248263790720607863339545722509658828788135585314667137"), boost::lexical_cast("-0.00860292152032285483171370641324365991792673628427173061192098670257230281191"), boost::lexical_cast("0.00296799669152609487280648506000803826995946384654837899504419503429102573503"), boost::lexical_cast("0.00230120524215354562430205986903842360424197668018944747606476493728483725055"), boost::lexical_cast("-0.00143684530480297612622289040298038490350367453072993580956143471121236432705"), boost::lexical_cast("-0.000328132519409837971395444401752011507581240244272874970019565158958075253614"), boost::lexical_cast("0.000439465427768643677838567752731784163228924931973889217946591075762286390503"), boost::lexical_cast("-0.0000256101095665484588272989121094992022166408206153190965517841374523415859860"), boost::lexical_cast("-0.0000820480320245339183909548257628218986613627304963676433868959364213432243666"), boost::lexical_cast("0.0000231868137987459508448206820570627757210669517409189533853073478931042782802"), boost::lexical_cast("0.00000699060098507675127320454970085537862776275858590205796402748138050877941586"), boost::lexical_cast("-0.00000450594247722298819410226820637831212971357260071649994491841668706683585071"), boost::lexical_cast("0.000000301654960999455741560520759487993976347616870521764689770270618984715407855"), boost::lexical_cast("0.000000295770093331685675497990525881615136787034562892431730735463949569521998500"), boost::lexical_cast("-0.0000000842394844600268017878707129692287706841031094222279962259313341617779208118"), boost::lexical_cast("0.00000000726749296856160811087976744140903503415858171978979108889204640807029047656")}; + if constexpr (std::is_same_v) { + return {boost::lexical_cast("0.00224180700103731285353596267707443691406219188056037073325053118133419193342"), boost::lexical_cast("0.0259853937036060433891486459172078831547394452487824129439994827687663725129"), boost::lexical_cast("0.131214903307824406577550623185906996014429360925997853006700439459033631661"), boost::lexical_cast("0.370350724152641150449254819072188644947707887689680382365042593579529628290"), boost::lexical_cast("0.610996615684622818188667886767937208273709389335872629137178390490835290734"), boost::lexical_cast("0.518315764056937839325453852808596804621681719771841640243990498683288900340"), boost::lexical_cast("0.0273149704032936350043125071914758648035046981896456300367294282283271222511"), boost::lexical_cast("-0.328320748363961736090966534072506176758159769815155802467913052689676377760"), boost::lexical_cast("-0.126599752215882702874467911093382550505396626010408616210372832359164928283"), boost::lexical_cast("0.197310589565010992785404704478193014255142241413564691712228422600456673716"), boost::lexical_cast("0.101135489177470272150969985643343480219662254549966487610943796293105029624"), boost::lexical_cast("-0.126815691778286311094857112866233168038479218591501706573213748994956827246"), boost::lexical_cast("-0.0570914196316769272891123947865138232416116086984534705399014464059382899408"), boost::lexical_cast("0.0811059866541608850796588574855542920102436419095449919402067822775070461335"), boost::lexical_cast("0.0223123361781037959533913605953481375623224211409368924402086919318268997481"), boost::lexical_cast("-0.0469224383892697373330089705921140050713876812549803060287843927826168188238"), boost::lexical_cast("-0.00327095553581929378165536022217749445206952595806160939280927575122449701285"), boost::lexical_cast("0.0227336765839462703184561624478844896990671374133833949802486413275635089855"), boost::lexical_cast("-0.00304298998135463706859248263790720607863339545722509658828788135585314667137"), boost::lexical_cast("-0.00860292152032285483171370641324365991792673628427173061192098670257230281191"), boost::lexical_cast("0.00296799669152609487280648506000803826995946384654837899504419503429102573503"), boost::lexical_cast("0.00230120524215354562430205986903842360424197668018944747606476493728483725055"), boost::lexical_cast("-0.00143684530480297612622289040298038490350367453072993580956143471121236432705"), boost::lexical_cast("-0.000328132519409837971395444401752011507581240244272874970019565158958075253614"), boost::lexical_cast("0.000439465427768643677838567752731784163228924931973889217946591075762286390503"), boost::lexical_cast("-0.0000256101095665484588272989121094992022166408206153190965517841374523415859860"), boost::lexical_cast("-0.0000820480320245339183909548257628218986613627304963676433868959364213432243666"), boost::lexical_cast("0.0000231868137987459508448206820570627757210669517409189533853073478931042782802"), boost::lexical_cast("0.00000699060098507675127320454970085537862776275858590205796402748138050877941586"), boost::lexical_cast("-0.00000450594247722298819410226820637831212971357260071649994491841668706683585071"), boost::lexical_cast("0.000000301654960999455741560520759487993976347616870521764689770270618984715407855"), boost::lexical_cast("0.000000295770093331685675497990525881615136787034562892431730735463949569521998500"), boost::lexical_cast("-0.0000000842394844600268017878707129692287706841031094222279962259313341617779208118"), boost::lexical_cast("0.00000000726749296856160811087976744140903503415858171978979108889204640807029047656")}; } } if constexpr (p == 18) { @@ -355,8 +358,8 @@ constexpr std::array daubechies_scaling_filter() return {0x1.9d386358a187490511616014e787p-10Q, 0x1.3c05f73c5b367536d2be9893ed8cp-6Q, 0x1.a84c610f33b444b779a9b1758c69p-4Q, 0x1.423b3247213b88555f9f2ada7d8ap-2Q, 0x1.24c67bbcaad511453636985416f3p-1Q, 0x1.24c32fbf17436364ee6d86ce0b36p-1Q, 0x1.2d834f99026e9806c6f6c1aa6cb3p-3Q, -0x1.2cb3a51535039a741562ba69c7a8p-2Q, -0x1.bb5a5b1e13b56915364cb7d6d1bfp-3Q, 0x1.323ede758da4220dcba304aad9d9p-3Q, 0x1.562eba30ba3dac1311ece1a1884ap-3Q, -0x1.7a30ff6ce5271d64766823319bd4p-4Q, -0x1.b541d802db16d80f141c678b2993p-4Q, 0x1.09c72d78f01628c7ccd127058828p-4Q, 0x1.d35d236774d120bc0fddfe320959p-5Q, -0x1.6cc216694aaa0ced2f850c2b3eb7p-5Q, -0x1.84d84c9eacf2bae4fd091b9bdb4fp-6Q, 0x1.b4f90c6dc9841e7a702107e1aca3p-6Q, 0x1.9a65be90d86a53c665da90605941p-8Q, -0x1.ababc1ea3f978443c6511c976c7fp-7Q, 0x1.f19207685977f43b68af0530733ap-14Q, 0x1.43f78b1e4d853774466d94263915p-8Q, -0x1.2544e0deeca71abd544eac93fa45p-10Q, -0x1.5f6de508b23063ffd5522faa2f1ap-10Q, 0x1.497f3c70a07cbca34a7835790cbfp-11Q, 0x1.bfe9ba59913cd96563f593913af3p-13Q, -0x1.a098a12371c0ca3dcc2d68b00891p-13Q, -0x1.49d5efd42da901d7159610c4d152p-23Q, 0x1.39d678c2c06ae863ef3b97fa7d6p-15Q, -0x1.1de76b2193bec903a9d077f1666ep-17Q, -0x1.bf4c72e2a2d93cedea468c1c5543p-19Q, 0x1.dac907ddfd9dac76e76088418dc5p-20Q, -0x1.4a5a655290e67a67e8d8672b7916p-24Q, -0x1.f9216d4e4d83adac1cb13466b74bp-24Q, 0x1.079c6a0fc4517cae3d72b9596e6p-25Q, -0x1.58b0195a8266ce508d99fc62d4eep-29Q}; } #endif - if constexpr (std::is_same_v) { - return {boost::lexical_cast("0.00157631021844076043154074492993977774767075371099166036368442986184714001537"), boost::lexical_cast("0.0192885317241463770592139171582905241995466702528849757223671483332142575124"), boost::lexical_cast("0.103588465822423596224191049193725359647069655522024167297622418469656394177"), boost::lexical_cast("0.314678941337031699057199825565257993178670619048937450949130751036740690695"), boost::lexical_cast("0.571826807766607223481858937090062341939367374313093056129532404803265328819"), boost::lexical_cast("0.571801654888651335289111999406596502566804788281852506075939526421405556433"), boost::lexical_cast("0.147223111969928141575097727108107231255786410735570138780167713584411016265"), boost::lexical_cast("-0.293654040736558744247903099498115072393571072903505323966175230801212578403"), boost::lexical_cast("-0.216480934005142971123767862566827147143793723566949240838869239366378506250"), boost::lexical_cast("0.149533975565377789350930173891366720880481669189376561026194307191290248158"), boost::lexical_cast("0.167081312763257404514931813995013474532420564635398808315225063337013902642"), boost::lexical_cast("-0.0923318841508462806042937255865945973143184800014456961207450846746206498455"), boost::lexical_cast("-0.106752246659828485593220058161498486138526640462411208391770205467847935365"), boost::lexical_cast("0.0648872162119054428194757795514191146312938211663414784613714984515877764896"), boost::lexical_cast("0.0570512477385368841209076884649962226059622612043103852460067642320755043632"), boost::lexical_cast("-0.0445261419029823247155614355974465349297147789143983359275503466820231489272"), boost::lexical_cast("-0.0237332103958600010327520958266521611019751933071349023307156579014300914190"), boost::lexical_cast("0.0266707059264705902998790863167202034320789599993607281336347152037595652919"), boost::lexical_cast("0.00626216795430570748523609314449788250199032520474501319026805231525752058555"), boost::lexical_cast("-0.0130514809466120017727763644760080716975519105450757166660613358038629139862"), boost::lexical_cast("0.000118630033858117465730174159216181908454489941745231740518561572996617939506"), boost::lexical_cast("0.00494334360546673813066552951680297483429963831336647776529520326003067700242"), boost::lexical_cast("-0.00111873266699249707280065885523865018231806048258497014551268711985227900418"), boost::lexical_cast("-0.00134059629833610662951756722825158360982304452468598664032394269120723888750"), boost::lexical_cast("0.000628465682965145712561944988542083821755102279630158287434965288076478383268"), boost::lexical_cast("0.000213581561910340688403905281434192602587320032599646652254344051060271497781"), boost::lexical_cast("-0.000198648552311747948579824541636248955492779788026401787613960521573218466250"), boost::lexical_cast("-0.000000153591712353472467506977033587671719370047242702151323658728810220957329769"), boost::lexical_cast("0.0000374123788074003818109220813803539395230429261579398503073136385132849832575"), boost::lexical_cast("-0.00000852060253744669520391925491165552302243759695622637651230591706524073534413"), boost::lexical_cast("-0.00000333263447888582188878245203334103682731150590779649843982933727956405960650"), boost::lexical_cast("0.00000176871298362761545587632873075537517641250135911405881545310061923499126827"), boost::lexical_cast("-0.0000000769163268988517614600015287853959840581739758815652511676990865187416269746"), boost::lexical_cast("-0.000000117609876702823169845098235656129256134757977769539695352814136780995583426"), boost::lexical_cast("0.0000000306883586304517480093547829493397537245017978789457449293057011634442052915"), boost::lexical_cast("-0.00000000250793445494859826719517318314712673180631714486827581994140326785823293114")}; + if constexpr (std::is_same_v) { + return {boost::lexical_cast("0.00157631021844076043154074492993977774767075371099166036368442986184714001537"), boost::lexical_cast("0.0192885317241463770592139171582905241995466702528849757223671483332142575124"), boost::lexical_cast("0.103588465822423596224191049193725359647069655522024167297622418469656394177"), boost::lexical_cast("0.314678941337031699057199825565257993178670619048937450949130751036740690695"), boost::lexical_cast("0.571826807766607223481858937090062341939367374313093056129532404803265328819"), boost::lexical_cast("0.571801654888651335289111999406596502566804788281852506075939526421405556433"), boost::lexical_cast("0.147223111969928141575097727108107231255786410735570138780167713584411016265"), boost::lexical_cast("-0.293654040736558744247903099498115072393571072903505323966175230801212578403"), boost::lexical_cast("-0.216480934005142971123767862566827147143793723566949240838869239366378506250"), boost::lexical_cast("0.149533975565377789350930173891366720880481669189376561026194307191290248158"), boost::lexical_cast("0.167081312763257404514931813995013474532420564635398808315225063337013902642"), boost::lexical_cast("-0.0923318841508462806042937255865945973143184800014456961207450846746206498455"), boost::lexical_cast("-0.106752246659828485593220058161498486138526640462411208391770205467847935365"), boost::lexical_cast("0.0648872162119054428194757795514191146312938211663414784613714984515877764896"), boost::lexical_cast("0.0570512477385368841209076884649962226059622612043103852460067642320755043632"), boost::lexical_cast("-0.0445261419029823247155614355974465349297147789143983359275503466820231489272"), boost::lexical_cast("-0.0237332103958600010327520958266521611019751933071349023307156579014300914190"), boost::lexical_cast("0.0266707059264705902998790863167202034320789599993607281336347152037595652919"), boost::lexical_cast("0.00626216795430570748523609314449788250199032520474501319026805231525752058555"), boost::lexical_cast("-0.0130514809466120017727763644760080716975519105450757166660613358038629139862"), boost::lexical_cast("0.000118630033858117465730174159216181908454489941745231740518561572996617939506"), boost::lexical_cast("0.00494334360546673813066552951680297483429963831336647776529520326003067700242"), boost::lexical_cast("-0.00111873266699249707280065885523865018231806048258497014551268711985227900418"), boost::lexical_cast("-0.00134059629833610662951756722825158360982304452468598664032394269120723888750"), boost::lexical_cast("0.000628465682965145712561944988542083821755102279630158287434965288076478383268"), boost::lexical_cast("0.000213581561910340688403905281434192602587320032599646652254344051060271497781"), boost::lexical_cast("-0.000198648552311747948579824541636248955492779788026401787613960521573218466250"), boost::lexical_cast("-0.000000153591712353472467506977033587671719370047242702151323658728810220957329769"), boost::lexical_cast("0.0000374123788074003818109220813803539395230429261579398503073136385132849832575"), boost::lexical_cast("-0.00000852060253744669520391925491165552302243759695622637651230591706524073534413"), boost::lexical_cast("-0.00000333263447888582188878245203334103682731150590779649843982933727956405960650"), boost::lexical_cast("0.00000176871298362761545587632873075537517641250135911405881545310061923499126827"), boost::lexical_cast("-0.0000000769163268988517614600015287853959840581739758815652511676990865187416269746"), boost::lexical_cast("-0.000000117609876702823169845098235656129256134757977769539695352814136780995583426"), boost::lexical_cast("0.0000000306883586304517480093547829493397537245017978789457449293057011634442052915"), boost::lexical_cast("-0.00000000250793445494859826719517318314712673180631714486827581994140326785823293114")}; } } if constexpr (p == 19) { @@ -374,8 +377,8 @@ constexpr std::array daubechies_scaling_filter() return {0x1.22a1917fed859e160446bb7b167ap-10Q, 0x1.d3f6896603bf4308e8ccc5a30641p-7Q, 0x1.4cea4765b11499a3de1dc5fdc4b7p-4Q, 0x1.0ebbd74f124f24e597d3a5bc26dbp-2Q, 0x1.0c82ecc4163915332b81143283e8p-1Q, 0x1.34129e60b6e2fef58b66c45f7099p-1Q, 0x1.0b280be54f8b6ad2d41e0f33532ep-2Q, -0x1.d32194b53c8046c9a7b9b8714cebp-3Q, -0x1.24b2e1dd4c73df34e82deb7bb6c6p-2Q, 0x1.31c6940f7edfa2f8c6ddc9cd2aefp-4Q, 0x1.b2e46c16840423c52b33ff7476eep-3Q, -0x1.12957a28f5bb337e3e66ea6f23e6p-5Q, -0x1.246cd3943959a8c450bf5ca92b86p-3Q, 0x1.c3f126f461d985ee9de87f3424e5p-6Q, 0x1.63f8568e9e6ec0d34220dce2e186p-4Q, -0x1.b2323dbfdcbe6e4ed8b2320fb129p-6Q, -0x1.7629cb842f99ab236f8e908d21c2p-5Q, 0x1.6248a775ca65f9a99ecab76ed61p-6Q, 0x1.3d72f2476d00410fe80cb42bd72bp-6Q, -0x1.ca5f1bf2f3243b0308970f1f944p-7Q, -0x1.807e9f533b2172c38f0c60523009p-8Q, 0x1.cd6c23ae5d8f94f8e6c997306168p-8Q, 0x1.93274e99dc9b4cfea213c9163decp-11Q, -0x1.6043462e3e519b97ce417a7ac3b3p-9Q, 0x1.66698fcf3c2497984ab865b5b6acp-12Q, 0x1.81c5be1857465de5530984af43cbp-11Q, -0x1.1156b7a432a662bbb70ff712e064p-12Q, -0x1.054e8a6af00d6f29e88cd98738bep-13Q, 0x1.6d608dedb3cf6080fb9e6ef72893p-14Q, 0x1.56a78fb9bd526ca09fc616b1b8ap-18Q, -0x1.172d0353b3f11fc1e8818be3f7a7p-16Q, 0x1.941ff236730f0886ee4074951d94p-19Q, 0x1.9b39878b9566344204396825f773p-20Q, -0x1.7070fedc9cdecfffd4c6dc5d1fe5p-21Q, 0x1.f1373b9dbeafa1390279c531a649p-27Q, 0x1.8e4f570c878dd84d17b935d5f69ap-25Q, -0x1.7f97c3aa5d9df8ae90e909fae15p-27Q, 0x1.dc770dc2ed00b68b9c525506b211p-31Q}; } #endif - if constexpr (std::is_same_v) { - return {boost::lexical_cast("0.00110866976318171057109915419520971516424529967777343593213545529038383924770"), boost::lexical_cast("0.0142810984507643973743988915295019923474566344216366595787071599110771075191"), boost::lexical_cast("0.0812781132654595506529630678490162483984497997102862036649772686406019150041"), boost::lexical_cast("0.264388431740896784674810038028942687386237780721192071841738581477351352687"), boost::lexical_cast("0.524436377464654915336057597548406462604463364104807211639316023628078258263"), boost::lexical_cast("0.601704549127537894886707713592180262053656563958596329331393143392083219576"), boost::lexical_cast("0.260894952651038829287245667531052832417267310130190773992521389876582446158"), boost::lexical_cast("-0.228091394215482646374632577605463720709378723708642590953482241776619580080"), boost::lexical_cast("-0.285838631755826241854597569502898423721735609558833514992211937357294676905"), boost::lexical_cast("0.0746522697081032663676343311187881900586586614973190965636539995134773660042"), boost::lexical_cast("0.212349743306278488809060856705982419707707420087883944841690869803668388649"), boost::lexical_cast("-0.0335185419023028786816938841878573150697784507523896681981403258573481442235"), boost::lexical_cast("-0.142785695038736574977960273162611281299849770615242850862756243341853036336"), boost::lexical_cast("0.0275843506256286687501474352016219865537447459696342308076281830983836771416"), boost::lexical_cast("0.0869067555558122324884764542880844303478520800246819275964035297492772454078"), boost::lexical_cast("-0.0265012362501230408990183584367638736107506801768674780817134564719233152649"), boost::lexical_cast("-0.0456742262772309080564544421429579601793893573211563005088010978423298835500"), boost::lexical_cast("0.0216237674095850471303298425717237235431809706785875254257102081949907179885"), boost::lexical_cast("0.0193755498891761276463709435445799981449688509587582554640696372421676825877"), boost::lexical_cast("-0.0139883886785351416325040123524866252191681386745309583680836668669699906947"), boost::lexical_cast("-0.00586692228101217472658449343605437377381460834080875817737276517150642852313"), boost::lexical_cast("0.00704074736710524315301451120740062010940168989766538307822939808316234678585"), boost::lexical_cast("0.000768954359257548355974913914867395516347794708603940612954642251648623392855"), boost::lexical_cast("-0.00268755180070158200395736385507039863653403892098247829017026719960594838510"), boost::lexical_cast("0.000341808653458595776565165729046380813521421484881951725779403154942704074894"), boost::lexical_cast("0.000735802520505435207026048190539728187518317579277990485818949491732987619374"), boost::lexical_cast("-0.000260676135678628005731831513089752279038393936207356340861354755942716317598"), boost::lexical_cast("-0.000124600791734158775344978440890165399031734141334198090475759204698349203833"), boost::lexical_cast("0.0000871127046721992296541686238819112826841293389328208351772944342009756120059"), boost::lexical_cast("0.00000510595048707388605304922280993423157368736799210628266938926416431155785903"), boost::lexical_cast("-0.0000166401762971549445462067771989919863033367560881201810873914492293692424442"), boost::lexical_cast("0.00000301096431629652633969533445472594363264579893816242716885138250008132314822"), boost::lexical_cast("0.00000153193147669119306393183238108663603120312303272347746362414105936220672489"), boost::lexical_cast("-0.000000686275565776914270188355461348673285445274075277139241175841882669179558939"), boost::lexical_cast("0.0000000144708829879784454207821986329161542055167357407136783431616765021249777078"), boost::lexical_cast("0.0000000463693777578260422343085772821094889887174829108596229664932070020615712517"), boost::lexical_cast("-0.0000000111640206703582581639050476914247258646497579928447368224607655958423915203"), boost::lexical_cast("0.000000000866684883899761935032301354078212462728974219027305931912284064941409400037")}; + if constexpr (std::is_same_v) { + return {boost::lexical_cast("0.00110866976318171057109915419520971516424529967777343593213545529038383924770"), boost::lexical_cast("0.0142810984507643973743988915295019923474566344216366595787071599110771075191"), boost::lexical_cast("0.0812781132654595506529630678490162483984497997102862036649772686406019150041"), boost::lexical_cast("0.264388431740896784674810038028942687386237780721192071841738581477351352687"), boost::lexical_cast("0.524436377464654915336057597548406462604463364104807211639316023628078258263"), boost::lexical_cast("0.601704549127537894886707713592180262053656563958596329331393143392083219576"), boost::lexical_cast("0.260894952651038829287245667531052832417267310130190773992521389876582446158"), boost::lexical_cast("-0.228091394215482646374632577605463720709378723708642590953482241776619580080"), boost::lexical_cast("-0.285838631755826241854597569502898423721735609558833514992211937357294676905"), boost::lexical_cast("0.0746522697081032663676343311187881900586586614973190965636539995134773660042"), boost::lexical_cast("0.212349743306278488809060856705982419707707420087883944841690869803668388649"), boost::lexical_cast("-0.0335185419023028786816938841878573150697784507523896681981403258573481442235"), boost::lexical_cast("-0.142785695038736574977960273162611281299849770615242850862756243341853036336"), boost::lexical_cast("0.0275843506256286687501474352016219865537447459696342308076281830983836771416"), boost::lexical_cast("0.0869067555558122324884764542880844303478520800246819275964035297492772454078"), boost::lexical_cast("-0.0265012362501230408990183584367638736107506801768674780817134564719233152649"), boost::lexical_cast("-0.0456742262772309080564544421429579601793893573211563005088010978423298835500"), boost::lexical_cast("0.0216237674095850471303298425717237235431809706785875254257102081949907179885"), boost::lexical_cast("0.0193755498891761276463709435445799981449688509587582554640696372421676825877"), boost::lexical_cast("-0.0139883886785351416325040123524866252191681386745309583680836668669699906947"), boost::lexical_cast("-0.00586692228101217472658449343605437377381460834080875817737276517150642852313"), boost::lexical_cast("0.00704074736710524315301451120740062010940168989766538307822939808316234678585"), boost::lexical_cast("0.000768954359257548355974913914867395516347794708603940612954642251648623392855"), boost::lexical_cast("-0.00268755180070158200395736385507039863653403892098247829017026719960594838510"), boost::lexical_cast("0.000341808653458595776565165729046380813521421484881951725779403154942704074894"), boost::lexical_cast("0.000735802520505435207026048190539728187518317579277990485818949491732987619374"), boost::lexical_cast("-0.000260676135678628005731831513089752279038393936207356340861354755942716317598"), boost::lexical_cast("-0.000124600791734158775344978440890165399031734141334198090475759204698349203833"), boost::lexical_cast("0.0000871127046721992296541686238819112826841293389328208351772944342009756120059"), boost::lexical_cast("0.00000510595048707388605304922280993423157368736799210628266938926416431155785903"), boost::lexical_cast("-0.0000166401762971549445462067771989919863033367560881201810873914492293692424442"), boost::lexical_cast("0.00000301096431629652633969533445472594363264579893816242716885138250008132314822"), boost::lexical_cast("0.00000153193147669119306393183238108663603120312303272347746362414105936220672489"), boost::lexical_cast("-0.000000686275565776914270188355461348673285445274075277139241175841882669179558939"), boost::lexical_cast("0.0000000144708829879784454207821986329161542055167357407136783431616765021249777078"), boost::lexical_cast("0.0000000463693777578260422343085772821094889887174829108596229664932070020615712517"), boost::lexical_cast("-0.0000000111640206703582581639050476914247258646497579928447368224607655958423915203"), boost::lexical_cast("0.000000000866684883899761935032301354078212462728974219027305931912284064941409400037")}; } } }