diff --git a/cpp/src/arrow/util/decimal_internal.h b/cpp/src/arrow/util/decimal_internal.h index 51a7229ab6678..89f755af88316 100644 --- a/cpp/src/arrow/util/decimal_internal.h +++ b/cpp/src/arrow/util/decimal_internal.h @@ -197,235 +197,228 @@ constexpr BasicDecimal128 kDecimal128HalfPowersOfTen[] = { #endif constexpr BasicDecimal256 kDecimal256PowersOfTen[76 + 1] = { - BasicDecimal256FromLE({1ULL, 0ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({10ULL, 0ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({100ULL, 0ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({1000ULL, 0ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({10000ULL, 0ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({100000ULL, 0ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({1000000ULL, 0ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({10000000ULL, 0ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({100000000ULL, 0ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({1000000000ULL, 0ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({10000000000ULL, 0ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({100000000000ULL, 0ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({1000000000000ULL, 0ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({10000000000000ULL, 0ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({100000000000000ULL, 0ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({1000000000000000ULL, 0ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({10000000000000000ULL, 0ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({100000000000000000ULL, 0ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({1000000000000000000ULL, 0ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({10000000000000000000ULL, 0ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({7766279631452241920ULL, 5ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({3875820019684212736ULL, 54ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({1864712049423024128ULL, 542ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({200376420520689664ULL, 5421ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({2003764205206896640ULL, 54210ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({1590897978359414784ULL, 542101ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({15908979783594147840ULL, 5421010ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({11515845246265065472ULL, 54210108ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({4477988020393345024ULL, 542101086ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({7886392056514347008ULL, 5421010862ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({5076944270305263616ULL, 54210108624ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({13875954555633532928ULL, 542101086242ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({9632337040368467968ULL, 5421010862427ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({4089650035136921600ULL, 54210108624275ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({4003012203950112768ULL, 542101086242752ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({3136633892082024448ULL, 5421010862427522ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({12919594847110692864ULL, 54210108624275221ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({68739955140067328ULL, 542101086242752217ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({687399551400673280ULL, 5421010862427522170ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({6873995514006732800ULL, 17316620476856118468ULL, 2ULL, 0ULL}), - BasicDecimal256FromLE({13399722918938673152ULL, 7145508105175220139ULL, 29ULL, 0ULL}), - BasicDecimal256FromLE( - {4870020673419870208ULL, 16114848830623546549ULL, 293ULL, 0ULL}), - BasicDecimal256FromLE( - {11806718586779598848ULL, 13574535716559052564ULL, 2938ULL, 0ULL}), - BasicDecimal256FromLE( - {7386721425538678784ULL, 6618148649623664334ULL, 29387ULL, 0ULL}), - BasicDecimal256FromLE( - {80237960548581376ULL, 10841254275107988496ULL, 293873ULL, 0ULL}), - BasicDecimal256FromLE( - {802379605485813760ULL, 16178822382532126880ULL, 2938735ULL, 0ULL}), - BasicDecimal256FromLE( - {8023796054858137600ULL, 14214271235644855872ULL, 29387358ULL, 0ULL}), - BasicDecimal256FromLE( - {6450984253743169536ULL, 13015503840481697412ULL, 293873587ULL, 0ULL}), - BasicDecimal256FromLE( - {9169610316303040512ULL, 1027829888850112811ULL, 2938735877ULL, 0ULL}), - BasicDecimal256FromLE( - {17909126868192198656ULL, 10278298888501128114ULL, 29387358770ULL, 0ULL}), - BasicDecimal256FromLE( - {13070572018536022016ULL, 10549268516463523069ULL, 293873587705ULL, 0ULL}), - BasicDecimal256FromLE( - {1578511669393358848ULL, 13258964796087472617ULL, 2938735877055ULL, 0ULL}), - BasicDecimal256FromLE( - {15785116693933588480ULL, 3462439444907864858ULL, 29387358770557ULL, 0ULL}), - BasicDecimal256FromLE( - {10277214349659471872ULL, 16177650375369096972ULL, 293873587705571ULL, 0ULL}), - BasicDecimal256FromLE( - {10538423128046960640ULL, 14202551164014556797ULL, 2938735877055718ULL, 0ULL}), - BasicDecimal256FromLE( - {13150510911921848320ULL, 12898303124178706663ULL, 29387358770557187ULL, 0ULL}), - BasicDecimal256FromLE( - {2377900603251621888ULL, 18302566799529756941ULL, 293873587705571876ULL, 0ULL}), - BasicDecimal256FromLE( - {5332261958806667264ULL, 17004971331911604867ULL, 2938735877055718769ULL, 0ULL}), - BasicDecimal256FromLE( - {16429131440647569408ULL, 4029016655730084128ULL, 10940614696847636083ULL, 1ULL}), - BasicDecimal256FromLE({16717361816799281152ULL, 3396678409881738056ULL, - 17172426599928602752ULL, 15ULL}), - BasicDecimal256FromLE({1152921504606846976ULL, 15520040025107828953ULL, - 5703569335900062977ULL, 159ULL}), - BasicDecimal256FromLE({11529215046068469760ULL, 7626447661401876602ULL, - 1695461137871974930ULL, 1593ULL}), - BasicDecimal256FromLE({4611686018427387904ULL, 2477500319180559562ULL, - 16954611378719749304ULL, 15930ULL}), - BasicDecimal256FromLE({9223372036854775808ULL, 6328259118096044006ULL, - 3525417123811528497ULL, 159309ULL}), - BasicDecimal256FromLE( - {0ULL, 7942358959831785217ULL, 16807427164405733357ULL, 1593091ULL}), - BasicDecimal256FromLE( - {0ULL, 5636613303479645706ULL, 2053574980671369030ULL, 15930919ULL}), - BasicDecimal256FromLE( - {0ULL, 1025900813667802212ULL, 2089005733004138687ULL, 159309191ULL}), - BasicDecimal256FromLE( - {0ULL, 10259008136678022120ULL, 2443313256331835254ULL, 1593091911ULL}), - BasicDecimal256FromLE( - {0ULL, 10356360998232463120ULL, 5986388489608800929ULL, 15930919111ULL}), - BasicDecimal256FromLE( - {0ULL, 11329889613776873120ULL, 4523652674959354447ULL, 159309191113ULL}), - BasicDecimal256FromLE( - {0ULL, 2618431695511421504ULL, 8343038602174441244ULL, 1593091911132ULL}), - BasicDecimal256FromLE( - {0ULL, 7737572881404663424ULL, 9643409726906205977ULL, 15930919111324ULL}), - BasicDecimal256FromLE( - {0ULL, 3588752519208427776ULL, 4200376900514301694ULL, 159309191113245ULL}), - BasicDecimal256FromLE( - {0ULL, 17440781118374726144ULL, 5110280857723913709ULL, 1593091911132452ULL}), - BasicDecimal256FromLE( - {0ULL, 8387114520361296896ULL, 14209320429820033867ULL, 15930919111324522ULL}), - BasicDecimal256FromLE( - {0ULL, 10084168908774762496ULL, 12965995782233477362ULL, 159309191113245227ULL}), - BasicDecimal256FromLE( - {0ULL, 8607968719199866880ULL, 532749306367912313ULL, 1593091911132452277ULL})}; + BasicDecimal256FromLE(1ULL, 0ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(10ULL, 0ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(100ULL, 0ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(1000ULL, 0ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(10000ULL, 0ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(100000ULL, 0ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(1000000ULL, 0ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(10000000ULL, 0ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(100000000ULL, 0ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(1000000000ULL, 0ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(10000000000ULL, 0ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(100000000000ULL, 0ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(1000000000000ULL, 0ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(10000000000000ULL, 0ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(100000000000000ULL, 0ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(1000000000000000ULL, 0ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(10000000000000000ULL, 0ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(100000000000000000ULL, 0ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(1000000000000000000ULL, 0ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(10000000000000000000ULL, 0ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(7766279631452241920ULL, 5ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(3875820019684212736ULL, 54ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(1864712049423024128ULL, 542ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(200376420520689664ULL, 5421ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(2003764205206896640ULL, 54210ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(1590897978359414784ULL, 542101ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(15908979783594147840ULL, 5421010ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(11515845246265065472ULL, 54210108ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(4477988020393345024ULL, 542101086ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(7886392056514347008ULL, 5421010862ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(5076944270305263616ULL, 54210108624ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(13875954555633532928ULL, 542101086242ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(9632337040368467968ULL, 5421010862427ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(4089650035136921600ULL, 54210108624275ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(4003012203950112768ULL, 542101086242752ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(3136633892082024448ULL, 5421010862427522ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(12919594847110692864ULL, 54210108624275221ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(68739955140067328ULL, 542101086242752217ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(687399551400673280ULL, 5421010862427522170ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(6873995514006732800ULL, 17316620476856118468ULL, 2ULL, 0ULL), + BasicDecimal256FromLE(13399722918938673152ULL, 7145508105175220139ULL, 29ULL, 0ULL), + BasicDecimal256FromLE(4870020673419870208ULL, 16114848830623546549ULL, 293ULL, 0ULL), + BasicDecimal256FromLE(11806718586779598848ULL, 13574535716559052564ULL, 2938ULL, + 0ULL), + BasicDecimal256FromLE(7386721425538678784ULL, 6618148649623664334ULL, 29387ULL, 0ULL), + BasicDecimal256FromLE(80237960548581376ULL, 10841254275107988496ULL, 293873ULL, 0ULL), + BasicDecimal256FromLE(802379605485813760ULL, 16178822382532126880ULL, 2938735ULL, + 0ULL), + BasicDecimal256FromLE(8023796054858137600ULL, 14214271235644855872ULL, 29387358ULL, + 0ULL), + BasicDecimal256FromLE(6450984253743169536ULL, 13015503840481697412ULL, 293873587ULL, + 0ULL), + BasicDecimal256FromLE(9169610316303040512ULL, 1027829888850112811ULL, 2938735877ULL, + 0ULL), + BasicDecimal256FromLE(17909126868192198656ULL, 10278298888501128114ULL, + 29387358770ULL, 0ULL), + BasicDecimal256FromLE(13070572018536022016ULL, 10549268516463523069ULL, + 293873587705ULL, 0ULL), + BasicDecimal256FromLE(1578511669393358848ULL, 13258964796087472617ULL, + 2938735877055ULL, 0ULL), + BasicDecimal256FromLE(15785116693933588480ULL, 3462439444907864858ULL, + 29387358770557ULL, 0ULL), + BasicDecimal256FromLE(10277214349659471872ULL, 16177650375369096972ULL, + 293873587705571ULL, 0ULL), + BasicDecimal256FromLE(10538423128046960640ULL, 14202551164014556797ULL, + 2938735877055718ULL, 0ULL), + BasicDecimal256FromLE(13150510911921848320ULL, 12898303124178706663ULL, + 29387358770557187ULL, 0ULL), + BasicDecimal256FromLE(2377900603251621888ULL, 18302566799529756941ULL, + 293873587705571876ULL, 0ULL), + BasicDecimal256FromLE(5332261958806667264ULL, 17004971331911604867ULL, + 2938735877055718769ULL, 0ULL), + BasicDecimal256FromLE(16429131440647569408ULL, 4029016655730084128ULL, + 10940614696847636083ULL, 1ULL), + BasicDecimal256FromLE(16717361816799281152ULL, 3396678409881738056ULL, + 17172426599928602752ULL, 15ULL), + BasicDecimal256FromLE(1152921504606846976ULL, 15520040025107828953ULL, + 5703569335900062977ULL, 159ULL), + BasicDecimal256FromLE(11529215046068469760ULL, 7626447661401876602ULL, + 1695461137871974930ULL, 1593ULL), + BasicDecimal256FromLE(4611686018427387904ULL, 2477500319180559562ULL, + 16954611378719749304ULL, 15930ULL), + BasicDecimal256FromLE(9223372036854775808ULL, 6328259118096044006ULL, + 3525417123811528497ULL, 159309ULL), + BasicDecimal256FromLE(0ULL, 7942358959831785217ULL, 16807427164405733357ULL, + 1593091ULL), + BasicDecimal256FromLE(0ULL, 5636613303479645706ULL, 2053574980671369030ULL, + 15930919ULL), + BasicDecimal256FromLE(0ULL, 1025900813667802212ULL, 2089005733004138687ULL, + 159309191ULL), + BasicDecimal256FromLE(0ULL, 10259008136678022120ULL, 2443313256331835254ULL, + 1593091911ULL), + BasicDecimal256FromLE(0ULL, 10356360998232463120ULL, 5986388489608800929ULL, + 15930919111ULL), + BasicDecimal256FromLE(0ULL, 11329889613776873120ULL, 4523652674959354447ULL, + 159309191113ULL), + BasicDecimal256FromLE(0ULL, 2618431695511421504ULL, 8343038602174441244ULL, + 1593091911132ULL), + BasicDecimal256FromLE(0ULL, 7737572881404663424ULL, 9643409726906205977ULL, + 15930919111324ULL), + BasicDecimal256FromLE(0ULL, 3588752519208427776ULL, 4200376900514301694ULL, + 159309191113245ULL), + BasicDecimal256FromLE(0ULL, 17440781118374726144ULL, 5110280857723913709ULL, + 1593091911132452ULL), + BasicDecimal256FromLE(0ULL, 8387114520361296896ULL, 14209320429820033867ULL, + 15930919111324522ULL), + BasicDecimal256FromLE(0ULL, 10084168908774762496ULL, 12965995782233477362ULL, + 159309191113245227ULL), + BasicDecimal256FromLE(0ULL, 8607968719199866880ULL, 532749306367912313ULL, + 1593091911132452277ULL)}; constexpr BasicDecimal256 kDecimal256HalfPowersOfTen[] = { - BasicDecimal256FromLE({0ULL, 0ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({5ULL, 0ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({50ULL, 0ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({500ULL, 0ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({5000ULL, 0ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({50000ULL, 0ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({500000ULL, 0ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({5000000ULL, 0ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({50000000ULL, 0ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({500000000ULL, 0ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({5000000000ULL, 0ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({50000000000ULL, 0ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({500000000000ULL, 0ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({5000000000000ULL, 0ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({50000000000000ULL, 0ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({500000000000000ULL, 0ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({5000000000000000ULL, 0ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({50000000000000000ULL, 0ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({500000000000000000ULL, 0ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({5000000000000000000ULL, 0ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({13106511852580896768ULL, 2ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({1937910009842106368ULL, 27ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({932356024711512064ULL, 271ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({9323560247115120640ULL, 2710ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({1001882102603448320ULL, 27105ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({10018821026034483200ULL, 271050ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({7954489891797073920ULL, 2710505ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({5757922623132532736ULL, 27105054ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({2238994010196672512ULL, 271050543ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({3943196028257173504ULL, 2710505431ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({2538472135152631808ULL, 27105054312ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({6937977277816766464ULL, 271050543121ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({14039540557039009792ULL, 2710505431213ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({11268197054423236608ULL, 27105054312137ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({2001506101975056384ULL, 271050543121376ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({1568316946041012224ULL, 2710505431213761ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({15683169460410122240ULL, 27105054312137610ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({9257742014424809472ULL, 271050543121376108ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({343699775700336640ULL, 2710505431213761085ULL, 0ULL, 0ULL}), - BasicDecimal256FromLE({3436997757003366400ULL, 8658310238428059234ULL, 1ULL, 0ULL}), - BasicDecimal256FromLE( - {15923233496324112384ULL, 12796126089442385877ULL, 14ULL, 0ULL}), - BasicDecimal256FromLE( - {11658382373564710912ULL, 17280796452166549082ULL, 146ULL, 0ULL}), - BasicDecimal256FromLE( - {5903359293389799424ULL, 6787267858279526282ULL, 1469ULL, 0ULL}), - BasicDecimal256FromLE( - {3693360712769339392ULL, 12532446361666607975ULL, 14693ULL, 0ULL}), - BasicDecimal256FromLE( - {40118980274290688ULL, 14643999174408770056ULL, 146936ULL, 0ULL}), - BasicDecimal256FromLE( - {401189802742906880ULL, 17312783228120839248ULL, 1469367ULL, 0ULL}), - BasicDecimal256FromLE( - {4011898027429068800ULL, 7107135617822427936ULL, 14693679ULL, 0ULL}), - BasicDecimal256FromLE( - {3225492126871584768ULL, 15731123957095624514ULL, 146936793ULL, 0ULL}), - BasicDecimal256FromLE( - {13808177195006296064ULL, 9737286981279832213ULL, 1469367938ULL, 0ULL}), - BasicDecimal256FromLE( - {8954563434096099328ULL, 5139149444250564057ULL, 14693679385ULL, 0ULL}), - BasicDecimal256FromLE( - {15758658046122786816ULL, 14498006295086537342ULL, 146936793852ULL, 0ULL}), - BasicDecimal256FromLE( - {10012627871551455232ULL, 15852854434898512116ULL, 1469367938527ULL, 0ULL}), - BasicDecimal256FromLE( - {7892558346966794240ULL, 10954591759308708237ULL, 14693679385278ULL, 0ULL}), - BasicDecimal256FromLE( - {5138607174829735936ULL, 17312197224539324294ULL, 146936793852785ULL, 0ULL}), - BasicDecimal256FromLE( - {14492583600878256128ULL, 7101275582007278398ULL, 1469367938527859ULL, 0ULL}), - BasicDecimal256FromLE( - {15798627492815699968ULL, 15672523598944129139ULL, 14693679385278593ULL, 0ULL}), - BasicDecimal256FromLE( - {10412322338480586752ULL, 9151283399764878470ULL, 146936793852785938ULL, 0ULL}), - BasicDecimal256FromLE( - {11889503016258109440ULL, 17725857702810578241ULL, 1469367938527859384ULL, 0ULL}), - BasicDecimal256FromLE( - {8214565720323784704ULL, 11237880364719817872ULL, 14693679385278593849ULL, 0ULL}), - BasicDecimal256FromLE( - {8358680908399640576ULL, 1698339204940869028ULL, 17809585336819077184ULL, 7ULL}), - BasicDecimal256FromLE({9799832789158199296ULL, 16983392049408690284ULL, - 12075156704804807296ULL, 79ULL}), - BasicDecimal256FromLE({5764607523034234880ULL, 3813223830700938301ULL, - 10071102605790763273ULL, 796ULL}), - BasicDecimal256FromLE({2305843009213693952ULL, 1238750159590279781ULL, - 8477305689359874652ULL, 7965ULL}), - BasicDecimal256FromLE({4611686018427387904ULL, 12387501595902797811ULL, - 10986080598760540056ULL, 79654ULL}), - BasicDecimal256FromLE({9223372036854775808ULL, 13194551516770668416ULL, - 17627085619057642486ULL, 796545ULL}), - BasicDecimal256FromLE( - {0ULL, 2818306651739822853ULL, 10250159527190460323ULL, 7965459ULL}), - BasicDecimal256FromLE( - {0ULL, 9736322443688676914ULL, 10267874903356845151ULL, 79654595ULL}), - BasicDecimal256FromLE( - {0ULL, 5129504068339011060ULL, 10445028665020693435ULL, 796545955ULL}), - BasicDecimal256FromLE( - {0ULL, 14401552535971007368ULL, 12216566281659176272ULL, 7965459555ULL}), - BasicDecimal256FromLE( - {0ULL, 14888316843743212368ULL, 11485198374334453031ULL, 79654595556ULL}), - BasicDecimal256FromLE( - {0ULL, 1309215847755710752ULL, 4171519301087220622ULL, 796545955566ULL}), - BasicDecimal256FromLE( - {0ULL, 13092158477557107520ULL, 4821704863453102988ULL, 7965459555662ULL}), - BasicDecimal256FromLE( - {0ULL, 1794376259604213888ULL, 11323560487111926655ULL, 79654595556622ULL}), - BasicDecimal256FromLE( - {0ULL, 17943762596042138880ULL, 2555140428861956854ULL, 796545955566226ULL}), - BasicDecimal256FromLE( - {0ULL, 13416929297035424256ULL, 7104660214910016933ULL, 7965459555662261ULL}), - BasicDecimal256FromLE( - {0ULL, 5042084454387381248ULL, 15706369927971514489ULL, 79654595556622613ULL}), - BasicDecimal256FromLE( - {0ULL, 13527356396454709248ULL, 9489746690038731964ULL, 796545955566226138ULL})}; + BasicDecimal256FromLE(0ULL, 0ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(5ULL, 0ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(50ULL, 0ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(500ULL, 0ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(5000ULL, 0ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(50000ULL, 0ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(500000ULL, 0ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(5000000ULL, 0ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(50000000ULL, 0ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(500000000ULL, 0ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(5000000000ULL, 0ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(50000000000ULL, 0ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(500000000000ULL, 0ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(5000000000000ULL, 0ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(50000000000000ULL, 0ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(500000000000000ULL, 0ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(5000000000000000ULL, 0ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(50000000000000000ULL, 0ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(500000000000000000ULL, 0ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(5000000000000000000ULL, 0ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(13106511852580896768ULL, 2ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(1937910009842106368ULL, 27ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(932356024711512064ULL, 271ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(9323560247115120640ULL, 2710ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(1001882102603448320ULL, 27105ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(10018821026034483200ULL, 271050ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(7954489891797073920ULL, 2710505ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(5757922623132532736ULL, 27105054ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(2238994010196672512ULL, 271050543ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(3943196028257173504ULL, 2710505431ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(2538472135152631808ULL, 27105054312ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(6937977277816766464ULL, 271050543121ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(14039540557039009792ULL, 2710505431213ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(11268197054423236608ULL, 27105054312137ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(2001506101975056384ULL, 271050543121376ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(1568316946041012224ULL, 2710505431213761ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(15683169460410122240ULL, 27105054312137610ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(9257742014424809472ULL, 271050543121376108ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(343699775700336640ULL, 2710505431213761085ULL, 0ULL, 0ULL), + BasicDecimal256FromLE(3436997757003366400ULL, 8658310238428059234ULL, 1ULL, 0ULL), + BasicDecimal256FromLE(15923233496324112384ULL, 12796126089442385877ULL, 14ULL, 0ULL), + BasicDecimal256FromLE(11658382373564710912ULL, 17280796452166549082ULL, 146ULL, 0ULL), + BasicDecimal256FromLE(5903359293389799424ULL, 6787267858279526282ULL, 1469ULL, 0ULL), + BasicDecimal256FromLE(3693360712769339392ULL, 12532446361666607975ULL, 14693ULL, + 0ULL), + BasicDecimal256FromLE(40118980274290688ULL, 14643999174408770056ULL, 146936ULL, 0ULL), + BasicDecimal256FromLE(401189802742906880ULL, 17312783228120839248ULL, 1469367ULL, + 0ULL), + BasicDecimal256FromLE(4011898027429068800ULL, 7107135617822427936ULL, 14693679ULL, + 0ULL), + BasicDecimal256FromLE(3225492126871584768ULL, 15731123957095624514ULL, 146936793ULL, + 0ULL), + BasicDecimal256FromLE(13808177195006296064ULL, 9737286981279832213ULL, 1469367938ULL, + 0ULL), + BasicDecimal256FromLE(8954563434096099328ULL, 5139149444250564057ULL, 14693679385ULL, + 0ULL), + BasicDecimal256FromLE(15758658046122786816ULL, 14498006295086537342ULL, + 146936793852ULL, 0ULL), + BasicDecimal256FromLE(10012627871551455232ULL, 15852854434898512116ULL, + 1469367938527ULL, 0ULL), + BasicDecimal256FromLE(7892558346966794240ULL, 10954591759308708237ULL, + 14693679385278ULL, 0ULL), + BasicDecimal256FromLE(5138607174829735936ULL, 17312197224539324294ULL, + 146936793852785ULL, 0ULL), + BasicDecimal256FromLE(14492583600878256128ULL, 7101275582007278398ULL, + 1469367938527859ULL, 0ULL), + BasicDecimal256FromLE(15798627492815699968ULL, 15672523598944129139ULL, + 14693679385278593ULL, 0ULL), + BasicDecimal256FromLE(10412322338480586752ULL, 9151283399764878470ULL, + 146936793852785938ULL, 0ULL), + BasicDecimal256FromLE(11889503016258109440ULL, 17725857702810578241ULL, + 1469367938527859384ULL, 0ULL), + BasicDecimal256FromLE(8214565720323784704ULL, 11237880364719817872ULL, + 14693679385278593849ULL, 0ULL), + BasicDecimal256FromLE(8358680908399640576ULL, 1698339204940869028ULL, + 17809585336819077184ULL, 7ULL), + BasicDecimal256FromLE(9799832789158199296ULL, 16983392049408690284ULL, + 12075156704804807296ULL, 79ULL), + BasicDecimal256FromLE(5764607523034234880ULL, 3813223830700938301ULL, + 10071102605790763273ULL, 796ULL), + BasicDecimal256FromLE(2305843009213693952ULL, 1238750159590279781ULL, + 8477305689359874652ULL, 7965ULL), + BasicDecimal256FromLE(4611686018427387904ULL, 12387501595902797811ULL, + 10986080598760540056ULL, 79654ULL), + BasicDecimal256FromLE(9223372036854775808ULL, 13194551516770668416ULL, + 17627085619057642486ULL, 796545ULL), + BasicDecimal256FromLE(0ULL, 2818306651739822853ULL, 10250159527190460323ULL, + 7965459ULL), + BasicDecimal256FromLE(0ULL, 9736322443688676914ULL, 10267874903356845151ULL, + 79654595ULL), + BasicDecimal256FromLE(0ULL, 5129504068339011060ULL, 10445028665020693435ULL, + 796545955ULL), + BasicDecimal256FromLE(0ULL, 14401552535971007368ULL, 12216566281659176272ULL, + 7965459555ULL), + BasicDecimal256FromLE(0ULL, 14888316843743212368ULL, 11485198374334453031ULL, + 79654595556ULL), + BasicDecimal256FromLE(0ULL, 1309215847755710752ULL, 4171519301087220622ULL, + 796545955566ULL), + BasicDecimal256FromLE(0ULL, 13092158477557107520ULL, 4821704863453102988ULL, + 7965459555662ULL), + BasicDecimal256FromLE(0ULL, 1794376259604213888ULL, 11323560487111926655ULL, + 79654595556622ULL), + BasicDecimal256FromLE(0ULL, 17943762596042138880ULL, 2555140428861956854ULL, + 796545955566226ULL), + BasicDecimal256FromLE(0ULL, 13416929297035424256ULL, 7104660214910016933ULL, + 7965459555662261ULL), + BasicDecimal256FromLE(0ULL, 5042084454387381248ULL, 15706369927971514489ULL, + 79654595556622613ULL), + BasicDecimal256FromLE(0ULL, 13527356396454709248ULL, 9489746690038731964ULL, + 796545955566226138ULL)}; #undef BasicDecimal256FromLE