use super::cached::{ExtendedFloatArray, ModeratePathPowers};
const BASE10_SMALL_MANTISSA: [u64; 10] = [
9223372036854775808, 11529215046068469760, 14411518807585587200, 18014398509481984000, 11258999068426240000, 14073748835532800000, 17592186044416000000, 10995116277760000000, 13743895347200000000, 17179869184000000000, ];
const BASE10_SMALL_EXPONENT: [i32; 10] = [
-63, -60, -57, -54, -50, -47, -44, -40, -37, -34, ];
const BASE10_LARGE_MANTISSA: [u64; 66] = [
11555125961253852697, 13451937075301367670, 15660115838168849784, 18230774251475056848, 10611707258198326947, 12353653155963782858, 14381545078898527261, 16742321987285426889, 9745314011399999080, 11345038669416679861, 13207363278391631158, 15375394465392026070, 17899314949046850752, 10418772551374772303, 12129047596099288555, 14120069793541087484, 16437924692338667210, 9568131466127621947, 11138771039116687545, 12967236152753102995, 15095849699286165408, 17573882009934360870, 10229345649675443343, 11908525658859223294, 13863348470604074297, 16139061738043178685, 9394170331095332911, 10936253623915059621, 12731474852090538039, 14821387422376473014, 17254365866976409468, 10043362776618689222, 11692013098647223345, 13611294676837538538, 15845632502852867518, 9223372036854775808, 10737418240000000000, 12500000000000000000, 14551915228366851806, 16940658945086006781, 9860761315262647567, 11479437019748901445, 13363823550460978230, 15557538194652854267, 18111358157653424735, 10542197943230523224, 12272733663244316382, 14287342391028437277, 16632655625031838749, 9681479787123295682, 11270725851789228247, 13120851772591970218, 15274681817498023410, 17782069995880619867, 10350527006597618960, 12049599325514420588, 14027579833653779454, 16330252207878254650, 9505457831475799117, 11065809325636130661, 12882297539194266616, 14996968138956309548, 17458768723248864463, 10162340898095201970, 11830521861667747109, 13772540099066387756, ];
const BASE10_LARGE_EXPONENT: [i32; 66] = [
-1226, -1193, -1160, -1127, -1093, -1060, -1027, -994, -960, -927, -894, -861, -828, -794, -761, -728, -695, -661, -628, -595, -562, -529, -495, -462, -429, -396, -362, -329, -296, -263, -230, -196, -163, -130, -97, -63, -30, 3, 36, 69, 103, 136, 169, 202, 235, 269, 302, 335, 368, 402, 435, 468, 501, 534, 568, 601, 634, 667, 701, 734, 767, 800, 833, 867, 900, 933, ];
const BASE10_SMALL_INT_POWERS: [u64; 10] = [
1, 10, 100, 1000, 10000, 100000, 1000000, 10000000, 100000000, 1000000000,
];
const BASE10_STEP: i32 = 10;
const BASE10_BIAS: i32 = 350;
const BASE10_POWERS: ModeratePathPowers = ModeratePathPowers {
small: ExtendedFloatArray {
mant: &BASE10_SMALL_MANTISSA,
exp: &BASE10_SMALL_EXPONENT,
},
large: ExtendedFloatArray {
mant: &BASE10_LARGE_MANTISSA,
exp: &BASE10_LARGE_EXPONENT,
},
small_int: &BASE10_SMALL_INT_POWERS,
step: BASE10_STEP,
bias: BASE10_BIAS,
};
pub(crate) fn get_powers() -> &'static ModeratePathPowers {
&BASE10_POWERS
}