use crate::BidUint128;
macro_rules! bid_round_const_table_128 {
($rnd_mode:expr, $index:expr) => {
BID_ROUND_CONST_TABLE_128[$rnd_mode as usize][$index as usize]
};
}
pub(crate) use bid_round_const_table_128;
#[rustfmt::skip]
pub const BID_ROUND_CONST_TABLE_128: [[BidUint128;36]; 5] = [
[ BidUint128{ w: [0, 0] }, BidUint128{ w: [5, 0] }, BidUint128{ w: [50, 0] }, BidUint128{ w: [500, 0] }, BidUint128{ w: [5000, 0] }, BidUint128{ w: [50000, 0] }, BidUint128{ w: [500000, 0] }, BidUint128{ w: [5000000, 0] }, BidUint128{ w: [50000000, 0] }, BidUint128{ w: [500000000, 0] }, BidUint128{ w: [5000000000, 0] }, BidUint128{ w: [50000000000, 0] }, BidUint128{ w: [500000000000, 0] }, BidUint128{ w: [5000000000000, 0] }, BidUint128{ w: [50000000000000, 0] }, BidUint128{ w: [500000000000000, 0] }, BidUint128{ w: [5000000000000000, 0] }, BidUint128{ w: [50000000000000000, 0] }, BidUint128{ w: [500000000000000000, 0] }, BidUint128{ w: [5000000000000000000, 0] }, BidUint128{ w: [0xb5e3af16b1880000, 2] }, BidUint128{ w: [0x1ae4d6e2ef500000, 27] }, BidUint128{ w: [0xcf064dd59200000, 271] }, BidUint128{ w: [0x8163f0a57b400000, 2710] }, BidUint128{ w: [0xde76676d0800000, 27105] }, BidUint128{ w: [0x8b0a00a425000000, 0x422ca] }, BidUint128{ w: [0x6e64066972000000, 0x295be9] }, BidUint128{ w: [0x4fe8401e74000000, 0x19d971e] }, BidUint128{ w: [0x1f12813088000000, 0x1027e72f] }, BidUint128{ w: [0x36b90be550000000, 0xa18f07d7] }, BidUint128{ w: [0x233a76f520000000, 0x64f964e68] }, BidUint128{ w: [0x6048a59340000000, 0x3f1bdf1011] }, BidUint128{ w: [0xc2d677c080000000, 0x27716b6a0ad] }, BidUint128{ w: [0x9c60ad8500000000, 0x18a6e32246c9] }, BidUint128{ w: [0x1bc6c73200000000, 0xf684df56c3e0] }, BidUint128{ w: [0x15c3c7f400000000, 0x9a130b963a6c1] }, ],
[ BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, ],
[ BidUint128{ w: [0, 0] }, BidUint128{ w: [9, 0] }, BidUint128{ w: [99, 0] }, BidUint128{ w: [999, 0] }, BidUint128{ w: [9999, 0] }, BidUint128{ w: [99999, 0] }, BidUint128{ w: [999999, 0] }, BidUint128{ w: [9999999, 0] }, BidUint128{ w: [99999999, 0] }, BidUint128{ w: [999999999, 0] }, BidUint128{ w: [9999999999, 0] }, BidUint128{ w: [99999999999, 0] }, BidUint128{ w: [999999999999, 0] }, BidUint128{ w: [9999999999999, 0] }, BidUint128{ w: [99999999999999, 0] }, BidUint128{ w: [999999999999999, 0] }, BidUint128{ w: [9999999999999999, 0] }, BidUint128{ w: [99999999999999999, 0] }, BidUint128{ w: [999999999999999999, 0] }, BidUint128{ w: [9999999999999999999, 0] }, BidUint128{ w: [0x6BC75E2D630FFFFF, 0x5] }, BidUint128{ w: [0x35C9ADC5DE9FFFFF, 0x36] }, BidUint128{ w: [0x19E0C9BAB23FFFFF, 0x21e] }, BidUint128{ w: [0x2C7E14AF67FFFFF, 0x152d] }, BidUint128{ w: [0x1BCECCEDA0FFFFFF, 0xd3c2] }, BidUint128{ w: [0x1614014849FFFFFF, 0x84595] }, BidUint128{ w: [0xDCC80CD2E3FFFFFF, 0x52b7d2] }, BidUint128{ w: [0x9FD0803CE7FFFFFF, 0x33B2E3C] }, BidUint128{ w: [0x3E2502610FFFFFFF, 0x204FCE5E] }, BidUint128{ w: [0x6D7217CA9FFFFFFF, 0x1431E0FAE] }, BidUint128{ w: [0x4674EDEA3FFFFFFF, 0xC9F2C9CD0] }, BidUint128{ w: [0xC0914B267FFFFFFF, 0x7E37BE2022] }, BidUint128{ w: [0x85ACEF80FFFFFFFF, 0x4EE2D6D415B] }, BidUint128{ w: [0x38c15b09ffffffff, 0x314dc6448d93] }, BidUint128{ w: [0x378d8e63ffffffff, 0x1ed09bead87c0] }, BidUint128{ w: [0x2b878fe7ffffffff, 0x13426172c74d82] }, ],
[ BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, BidUint128{ w: [0, 0] }, ],
[ BidUint128{ w: [0, 0] }, BidUint128{ w: [5, 0] }, BidUint128{ w: [50, 0] }, BidUint128{ w: [500, 0] }, BidUint128{ w: [5000, 0] }, BidUint128{ w: [50000, 0] }, BidUint128{ w: [500000, 0] }, BidUint128{ w: [5000000, 0] }, BidUint128{ w: [50000000, 0] }, BidUint128{ w: [500000000, 0] }, BidUint128{ w: [5000000000, 0] }, BidUint128{ w: [50000000000, 0] }, BidUint128{ w: [500000000000, 0] }, BidUint128{ w: [5000000000000, 0] }, BidUint128{ w: [50000000000000, 0] }, BidUint128{ w: [500000000000000, 0] }, BidUint128{ w: [5000000000000000, 0] }, BidUint128{ w: [50000000000000000, 0] }, BidUint128{ w: [500000000000000000, 0] }, BidUint128{ w: [5000000000000000000, 0] }, BidUint128{ w: [0xb5e3af16b1880000, 2] }, BidUint128{ w: [0x1ae4d6e2ef500000, 27] }, BidUint128{ w: [0xcf064dd59200000, 271] }, BidUint128{ w: [0x8163f0a57b400000, 2710] }, BidUint128{ w: [0xde76676d0800000, 27105] }, BidUint128{ w: [0x8b0a00a425000000, 0x422ca] }, BidUint128{ w: [0x6e64066972000000, 0x295be9] }, BidUint128{ w: [0x4fe8401e74000000, 0x19d971e] }, BidUint128{ w: [0x1f12813088000000, 0x1027e72f] }, BidUint128{ w: [0x36b90be550000000, 0xa18f07d7] }, BidUint128{ w: [0x233a76f520000000, 0x64f964e68] }, BidUint128{ w: [0x6048a59340000000, 0x3f1bdf1011] }, BidUint128{ w: [0xc2d677c080000000, 0x27716b6a0ad] }, BidUint128{ w: [0x9c60ad8500000000, 0x18a6e32246c9] }, BidUint128{ w: [0x1bc6c73200000000, 0xf684df56c3e0] }, BidUint128{ w: [0x15c3c7f400000000, 0x9a130b963a6c1] }, ]
];
macro_rules! bid_reciprocals10_128 {
($index:expr) => {
BID_RECIPROCALS10_128[$index as usize]
};
}
pub(crate) use bid_reciprocals10_128;
#[rustfmt::skip]
pub const BID_RECIPROCALS10_128: [BidUint128;36] = [
BidUint128{ w: [0, 0] }, BidUint128{ w: [0x3333333333333334, 0x3333333333333333] }, BidUint128{ w: [0x51eb851eb851eb86, 0x051eb851eb851eb8] }, BidUint128{ w: [0x3b645a1cac083127, 0x0083126e978d4fdf] }, BidUint128{ w: [0x4af4f0d844d013aa, 0x00346dc5d6388659] }, BidUint128{ w: [0x08c3f3e0370cdc88, 0x0029f16b11c6d1e1] }, BidUint128{ w: [0x6d698fe69270b06d, 0x00218def416bdb1a] }, BidUint128{ w: [0xaf0f4ca41d811a47, 0x0035afe535795e90] }, BidUint128{ w: [0xbf3f70834acdaea0, 0x002af31dc4611873] }, BidUint128{ w: [0x65cc5a02a23e254d, 0x00225c17d04dad29] }, BidUint128{ w: [0x6fad5cd10396a214, 0x0036f9bfb3af7b75] }, BidUint128{ w: [0xbfbde3da69454e76, 0x002bfaffc2f2c92a] }, BidUint128{ w: [0x32fe4fe1edd10b92, 0x00232f33025bd422] }, BidUint128{ w: [0x84ca19697c81ac1c, 0x00384b84d092ed03] }, BidUint128{ w: [0x03d4e1213067bce4, 0x002d09370d425736] }, BidUint128{ w: [0x3643e74dc052fd83, 0x0024075f3dceac2b] }, BidUint128{ w: [0x56d30baf9a1e626b, 0x0039a5652fb11378] }, BidUint128{ w: [0x12426fbfae7eb522, 0x002e1dea8c8da92d] }, BidUint128{ w: [0x41cebfcc8b9890e8, 0x0024e4bba3a48757] }, BidUint128{ w: [0x694acc7a78f41b0d, 0x003b07929f6da558] }, BidUint128{ w: [0xbaa23d2ec729af3e, 0x002f394219248446] }, BidUint128{ w: [0xfbb4fdbf05baf298, 0x0025c768141d369e] }, BidUint128{ w: [0x2c54c931a2c4b759, 0x003c7240202ebdcb] }, BidUint128{ w: [0x89dd6dc14f03c5e1, 0x00305b66802564a2] }, BidUint128{ w: [0xd4b1249aa59c9e4e, 0x0026af8533511d4e] }, BidUint128{ w: [0x544ea0f76f60fd49, 0x003de5a1ebb4fbb1] }, BidUint128{ w: [0x76a54d92bf80caa1, 0x00318481895d9627] }, BidUint128{ w: [0x921dd7a89933d54e, 0x00279d346de4781f] }, BidUint128{ w: [0x8362f2a75b862215, 0x003f61ed7ca0c032] }, BidUint128{ w: [0xcf825bb91604e811, 0x0032b4bdfd4d668e] }, BidUint128{ w: [0x0c684960de6a5341, 0x00289097fdd7853f] }, BidUint128{ w: [0x3d203ab3e521dc34, 0x002073accb12d0ff] }, BidUint128{ w: [0x2e99f7863b696053, 0x0033ec47ab514e65] }, BidUint128{ w: [0x587b2c6b62bab376, 0x002989d2ef743eb7] }, BidUint128{ w: [0xad2f56bc4efbc2c5, 0x00213b0f25f69892] }, BidUint128{ w: [0x0f2abc9d8c9689d1, 0x01a95a5b7f87a0ef] }, ];
macro_rules! bid_estimate_decimal_digits {
($index:expr) => {
BID_ESTIMATE_DECIMAL_DIGITS[$index as usize]
};
}
pub(crate) use bid_estimate_decimal_digits;
pub const BID_ESTIMATE_DECIMAL_DIGITS: [i32; 129] = [
1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5,
5, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 9, 9, 9,
10, 10, 10, 10, 11, 11, 11, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 15,
15, 15, 16, 16, 16, 16, 17, 17, 17, 18, 18, 18, 19, 19, 19, 19,
20, 20, 20, 21, 21, 21, 22, 22, 22, 22, 23, 23, 23, 24, 24, 24,
25, 25, 25, 25, 26, 26, 26, 27, 27, 27, 28, 28, 28, 28, 29, 29, 29,
30, 30, 30, 31, 31, 31, 32, 32, 32, 32, 33, 33, 33, 34, 34, 34, 35, 35, 35, 35, 36, 36, 36, 37, 37, 37, 38, 38, 38, 38, 39, 39 ];
macro_rules! bid_power10_table_128 {
($index:expr) => {
BID_POWER10_TABLE_128[$index as usize]
};
}
pub(crate) use bid_power10_table_128;
#[rustfmt::skip]
pub const BID_POWER10_TABLE_128: [BidUint128; 39] = [
BidUint128{ w: [0x0000000000000001, 0x0000000000000000] }, BidUint128{ w: [0x000000000000000a, 0x0000000000000000] }, BidUint128{ w: [0x0000000000000064, 0x0000000000000000] }, BidUint128{ w: [0x00000000000003e8, 0x0000000000000000] }, BidUint128{ w: [0x0000000000002710, 0x0000000000000000] }, BidUint128{ w: [0x00000000000186a0, 0x0000000000000000] }, BidUint128{ w: [0x00000000000f4240, 0x0000000000000000] }, BidUint128{ w: [0x0000000000989680, 0x0000000000000000] }, BidUint128{ w: [0x0000000005f5e100, 0x0000000000000000] }, BidUint128{ w: [0x000000003b9aca00, 0x0000000000000000] }, BidUint128{ w: [0x00000002540be400, 0x0000000000000000] }, BidUint128{ w: [0x000000174876e800, 0x0000000000000000] }, BidUint128{ w: [0x000000e8d4a51000, 0x0000000000000000] }, BidUint128{ w: [0x000009184e72a000, 0x0000000000000000] }, BidUint128{ w: [0x00005af3107a4000, 0x0000000000000000] }, BidUint128{ w: [0x00038d7ea4c68000, 0x0000000000000000] }, BidUint128{ w: [0x002386f26fc10000, 0x0000000000000000] }, BidUint128{ w: [0x016345785d8a0000, 0x0000000000000000] }, BidUint128{ w: [0x0de0b6b3a7640000, 0x0000000000000000] }, BidUint128{ w: [0x8ac7230489e80000, 0x0000000000000000] }, BidUint128{ w: [0x6bc75e2d63100000, 0x0000000000000005] }, BidUint128{ w: [0x35c9adc5dea00000, 0x0000000000000036] }, BidUint128{ w: [0x19e0c9bab2400000, 0x000000000000021e] }, BidUint128{ w: [0x02c7e14af6800000, 0x000000000000152d] }, BidUint128{ w: [0x1bcecceda1000000, 0x000000000000d3c2] }, BidUint128{ w: [0x161401484a000000, 0x0000000000084595] }, BidUint128{ w: [0xdcc80cd2e4000000, 0x000000000052b7d2] }, BidUint128{ w: [0x9fd0803ce8000000, 0x00000000033b2e3c] }, BidUint128{ w: [0x3e25026110000000, 0x00000000204fce5e] }, BidUint128{ w: [0x6d7217caa0000000, 0x00000001431e0fae] }, BidUint128{ w: [0x4674edea40000000, 0x0000000c9f2c9cd0] }, BidUint128{ w: [0xc0914b2680000000, 0x0000007e37be2022] }, BidUint128{ w: [0x85acef8100000000, 0x000004ee2d6d415b] }, BidUint128{ w: [0x38c15b0a00000000, 0x0000314dc6448d93] }, BidUint128{ w: [0x378d8e6400000000, 0x0001ed09bead87c0] }, BidUint128{ w: [0x2b878fe800000000, 0x0013426172c74d82] }, BidUint128{ w: [0xb34b9f1000000000, 0x00c097ce7bc90715] }, BidUint128{ w: [0x00f436a000000000, 0x0785ee10d5da46d9] }, BidUint128{ w: [0x098a224000000000, 0x4b3b4ca85a86c47a] }, ];
macro_rules! bid_recip_scale {
($index:expr) => {
BID_RECIP_SCALE[$index as usize]
};
}
pub(crate) use bid_recip_scale;
#[rustfmt::skip]
pub const BID_RECIP_SCALE: [i32; 36] = [
129 - 128, 129 - 128, 129 - 128, 129 - 128, 3, 6, 9, 13, 16, 19, 23, 26, 29, 33, 36, 39, 43, 46, 49, 53, 56, 59, 63, 66, 69, 73, 76, 79, 83, 86, 89, 92, 96, 99, 102, 109, ];
macro_rules! bid_power10_index_binexp_128 {
($index:expr) => {
BID_POWER10_INDEX_BINEXP_128[$index as usize]
};
}
pub(crate) use bid_power10_index_binexp_128;
#[rustfmt::skip]
pub const BID_POWER10_INDEX_BINEXP_128: [BidUint128; 125] =
[
BidUint128{ w: [0x000000000000000a, 0x0000000000000000] },
BidUint128{ w: [0x000000000000000a, 0x0000000000000000] },
BidUint128{ w: [0x000000000000000a, 0x0000000000000000] },
BidUint128{ w: [0x000000000000000a, 0x0000000000000000] },
BidUint128{ w: [0x0000000000000064, 0x0000000000000000] },
BidUint128{ w: [0x0000000000000064, 0x0000000000000000] },
BidUint128{ w: [0x0000000000000064, 0x0000000000000000] },
BidUint128{ w: [0x00000000000003e8, 0x0000000000000000] },
BidUint128{ w: [0x00000000000003e8, 0x0000000000000000] },
BidUint128{ w: [0x00000000000003e8, 0x0000000000000000] },
BidUint128{ w: [0x0000000000002710, 0x0000000000000000] },
BidUint128{ w: [0x0000000000002710, 0x0000000000000000] },
BidUint128{ w: [0x0000000000002710, 0x0000000000000000] },
BidUint128{ w: [0x0000000000002710, 0x0000000000000000] },
BidUint128{ w: [0x00000000000186a0, 0x0000000000000000] },
BidUint128{ w: [0x00000000000186a0, 0x0000000000000000] },
BidUint128{ w: [0x00000000000186a0, 0x0000000000000000] },
BidUint128{ w: [0x00000000000f4240, 0x0000000000000000] },
BidUint128{ w: [0x00000000000f4240, 0x0000000000000000] },
BidUint128{ w: [0x00000000000f4240, 0x0000000000000000] },
BidUint128{ w: [0x0000000000989680, 0x0000000000000000] },
BidUint128{ w: [0x0000000000989680, 0x0000000000000000] },
BidUint128{ w: [0x0000000000989680, 0x0000000000000000] },
BidUint128{ w: [0x0000000000989680, 0x0000000000000000] },
BidUint128{ w: [0x0000000005f5e100, 0x0000000000000000] },
BidUint128{ w: [0x0000000005f5e100, 0x0000000000000000] },
BidUint128{ w: [0x0000000005f5e100, 0x0000000000000000] },
BidUint128{ w: [0x000000003b9aca00, 0x0000000000000000] },
BidUint128{ w: [0x000000003b9aca00, 0x0000000000000000] },
BidUint128{ w: [0x000000003b9aca00, 0x0000000000000000] },
BidUint128{ w: [0x00000002540be400, 0x0000000000000000] },
BidUint128{ w: [0x00000002540be400, 0x0000000000000000] },
BidUint128{ w: [0x00000002540be400, 0x0000000000000000] },
BidUint128{ w: [0x00000002540be400, 0x0000000000000000] },
BidUint128{ w: [0x000000174876e800, 0x0000000000000000] },
BidUint128{ w: [0x000000174876e800, 0x0000000000000000] },
BidUint128{ w: [0x000000174876e800, 0x0000000000000000] },
BidUint128{ w: [0x000000e8d4a51000, 0x0000000000000000] },
BidUint128{ w: [0x000000e8d4a51000, 0x0000000000000000] },
BidUint128{ w: [0x000000e8d4a51000, 0x0000000000000000] },
BidUint128{ w: [0x000009184e72a000, 0x0000000000000000] },
BidUint128{ w: [0x000009184e72a000, 0x0000000000000000] },
BidUint128{ w: [0x000009184e72a000, 0x0000000000000000] },
BidUint128{ w: [0x000009184e72a000, 0x0000000000000000] },
BidUint128{ w: [0x00005af3107a4000, 0x0000000000000000] },
BidUint128{ w: [0x00005af3107a4000, 0x0000000000000000] },
BidUint128{ w: [0x00005af3107a4000, 0x0000000000000000] },
BidUint128{ w: [0x00038d7ea4c68000, 0x0000000000000000] },
BidUint128{ w: [0x00038d7ea4c68000, 0x0000000000000000] },
BidUint128{ w: [0x00038d7ea4c68000, 0x0000000000000000] },
BidUint128{ w: [0x002386f26fc10000, 0x0000000000000000] },
BidUint128{ w: [0x002386f26fc10000, 0x0000000000000000] },
BidUint128{ w: [0x002386f26fc10000, 0x0000000000000000] },
BidUint128{ w: [0x002386f26fc10000, 0x0000000000000000] },
BidUint128{ w: [0x016345785d8a0000, 0x0000000000000000] },
BidUint128{ w: [0x016345785d8a0000, 0x0000000000000000] },
BidUint128{ w: [0x016345785d8a0000, 0x0000000000000000] },
BidUint128{ w: [0x0de0b6b3a7640000, 0x0000000000000000] },
BidUint128{ w: [0x0de0b6b3a7640000, 0x0000000000000000] },
BidUint128{ w: [0x0de0b6b3a7640000, 0x0000000000000000] },
BidUint128{ w: [0x8ac7230489e80000, 0x0000000000000000] },
BidUint128{ w: [0x8ac7230489e80000, 0x0000000000000000] },
BidUint128{ w: [0x8ac7230489e80000, 0x0000000000000000] },
BidUint128{ w: [0x8ac7230489e80000, 0x0000000000000000] },
BidUint128{ w: [0x6bc75e2d63100000, 0x0000000000000005] }, BidUint128{ w: [0x6bc75e2d63100000, 0x0000000000000005] }, BidUint128{ w: [0x6bc75e2d63100000, 0x0000000000000005] }, BidUint128{ w: [0x35c9adc5dea00000, 0x0000000000000036] }, BidUint128{ w: [0x35c9adc5dea00000, 0x0000000000000036] }, BidUint128{ w: [0x35c9adc5dea00000, 0x0000000000000036] }, BidUint128{ w: [0x19e0c9bab2400000, 0x000000000000021e] }, BidUint128{ w: [0x19e0c9bab2400000, 0x000000000000021e] }, BidUint128{ w: [0x19e0c9bab2400000, 0x000000000000021e] }, BidUint128{ w: [0x19e0c9bab2400000, 0x000000000000021e] }, BidUint128{ w: [0x02c7e14af6800000, 0x000000000000152d] }, BidUint128{ w: [0x02c7e14af6800000, 0x000000000000152d] }, BidUint128{ w: [0x02c7e14af6800000, 0x000000000000152d] }, BidUint128{ w: [0x1bcecceda1000000, 0x000000000000d3c2] }, BidUint128{ w: [0x1bcecceda1000000, 0x000000000000d3c2] }, BidUint128{ w: [0x1bcecceda1000000, 0x000000000000d3c2] }, BidUint128{ w: [0x161401484a000000, 0x0000000000084595] }, BidUint128{ w: [0x161401484a000000, 0x0000000000084595] }, BidUint128{ w: [0x161401484a000000, 0x0000000000084595] }, BidUint128{ w: [0x161401484a000000, 0x0000000000084595] }, BidUint128{ w: [0xdcc80cd2e4000000, 0x000000000052b7d2] }, BidUint128{ w: [0xdcc80cd2e4000000, 0x000000000052b7d2] }, BidUint128{ w: [0xdcc80cd2e4000000, 0x000000000052b7d2] }, BidUint128{ w: [0x9fd0803ce8000000, 0x00000000033b2e3c] }, BidUint128{ w: [0x9fd0803ce8000000, 0x00000000033b2e3c] }, BidUint128{ w: [0x9fd0803ce8000000, 0x00000000033b2e3c] }, BidUint128{ w: [0x3e25026110000000, 0x00000000204fce5e] }, BidUint128{ w: [0x3e25026110000000, 0x00000000204fce5e] }, BidUint128{ w: [0x3e25026110000000, 0x00000000204fce5e] }, BidUint128{ w: [0x3e25026110000000, 0x00000000204fce5e] }, BidUint128{ w: [0x6d7217caa0000000, 0x00000001431e0fae] }, BidUint128{ w: [0x6d7217caa0000000, 0x00000001431e0fae] }, BidUint128{ w: [0x6d7217caa0000000, 0x00000001431e0fae] }, BidUint128{ w: [0x4674edea40000000, 0x0000000c9f2c9cd0] }, BidUint128{ w: [0x4674edea40000000, 0x0000000c9f2c9cd0] }, BidUint128{ w: [0x4674edea40000000, 0x0000000c9f2c9cd0] }, BidUint128{ w: [0xc0914b2680000000, 0x0000007e37be2022] }, BidUint128{ w: [0xc0914b2680000000, 0x0000007e37be2022] }, BidUint128{ w: [0xc0914b2680000000, 0x0000007e37be2022] }, BidUint128{ w: [0x85acef8100000000, 0x000004ee2d6d415b] }, BidUint128{ w: [0x85acef8100000000, 0x000004ee2d6d415b] }, BidUint128{ w: [0x85acef8100000000, 0x000004ee2d6d415b] }, BidUint128{ w: [0x85acef8100000000, 0x000004ee2d6d415b] }, BidUint128{ w: [0x38c15b0a00000000, 0x0000314dc6448d93] }, BidUint128{ w: [0x38c15b0a00000000, 0x0000314dc6448d93] }, BidUint128{ w: [0x38c15b0a00000000, 0x0000314dc6448d93] }, BidUint128{ w: [0x378d8e6400000000, 0x0001ed09bead87c0] }, BidUint128{ w: [0x378d8e6400000000, 0x0001ed09bead87c0] }, BidUint128{ w: [0x378d8e6400000000, 0x0001ed09bead87c0] }, BidUint128{ w: [0x2b878fe800000000, 0x0013426172c74d82] }, BidUint128{ w: [0x2b878fe800000000, 0x0013426172c74d82] }, BidUint128{ w: [0x2b878fe800000000, 0x0013426172c74d82] }, BidUint128{ w: [0x2b878fe800000000, 0x0013426172c74d82] }, BidUint128{ w: [0xb34b9f1000000000, 0x00c097ce7bc90715] }, BidUint128{ w: [0x00f436a000000000, 0x0785ee10d5da46d9] }, BidUint128{ w: [0x00f436a000000000, 0x0785ee10d5da46d9] }, BidUint128{ w: [0x00f436a000000000, 0x0785ee10d5da46d9] }, BidUint128{ w: [0x098a224000000000, 0x4b3b4ca85a86c47a] }, BidUint128{ w: [0x098a224000000000, 0x4b3b4ca85a86c47a] }, BidUint128{ w: [0x098a224000000000, 0x4b3b4ca85a86c47a] }, BidUint128{ w: [0x098a224000000000, 0x4b3b4ca85a86c47a] }, ];
macro_rules! bid_short_recip_scale {
($index:expr) => {
BID_SHORT_RECIP_SCALE[$index as usize]
};
}
pub(crate) use bid_short_recip_scale;
pub const BID_SHORT_RECIP_SCALE: [i32; 18] = [
1,
65 - 64,
69 - 64,
71 - 64,
75 - 64,
78 - 64,
81 - 64,
85 - 64,
88 - 64,
91 - 64,
95 - 64,
98 - 64,
101 - 64,
105 - 64,
108 - 64,
111 - 64,
115 - 64, 118 - 64
];
macro_rules! bid_reciprocals10_64 {
($index:expr) => {
BID_RECIPROCALS10_64[$index as usize]
};
}
pub(crate) use bid_reciprocals10_64;
pub const BID_RECIPROCALS10_64: [u64; 18] = [
1, 0x3333333333333334, 0x51eb851eb851eb86,
0x20c49ba5e353f7cf,
0x346dc5d63886594b,
0x29f16b11c6d1e109,
0x218def416bdb1a6e,
0x35afe535795e90b0,
0x2af31dc4611873c0,
0x225c17d04dad2966,
0x36f9bfb3af7b7570,
0x2bfaffc2f2c92ac0,
0x232f33025bd42233,
0x384b84d092ed0385,
0x2d09370d42573604,
0x24075f3dceac2b37,
0x39a5652fb1137857,
0x2e1dea8c8da92d13
];