diff options
author | Yiming Jing <yimingjing@google.com> | 2021-07-20 01:53:24 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2021-07-20 01:53:24 +0000 |
commit | ecee9b899d0a8eca6f9b3862fc3f91d6e7e06b1d (patch) | |
tree | 746657ebeaab7f248e5874a153e0091d80a65596 | |
parent | 7307763d4e981d2e00f6f39bc2b39acf4f358f1c (diff) | |
parent | 9d2a69e29161870802b1868664fe8bad9200bdae (diff) | |
download | num-bigint-ecee9b899d0a8eca6f9b3862fc3f91d6e7e06b1d.tar.gz |
Add Android.bp and auto-generated Rust code am: 83fca392ab am: 9d2a69e291
Original change: https://android-review.googlesource.com/c/platform/external/rust/crates/num-bigint/+/1770566
Change-Id: I5821a53a99bedcce071aa8e66a6fc0a668d0d097
-rw-r--r-- | Android.bp | 245 | ||||
-rw-r--r-- | cargo2android.json | 7 | ||||
-rw-r--r-- | out/probe0.ll | 9 | ||||
-rw-r--r-- | out/probe1.ll | 9 | ||||
-rw-r--r-- | out/probe2.ll | 9 | ||||
-rw-r--r-- | out/probe3.ll | 9 | ||||
-rw-r--r-- | out/radix_bases.rs | 780 |
7 files changed, 1068 insertions, 0 deletions
diff --git a/Android.bp b/Android.bp new file mode 100644 index 0000000..494f35f --- /dev/null +++ b/Android.bp @@ -0,0 +1,245 @@ +// This file is generated by cargo2android.py --config cargo2android.json. +// Do not modify this file as changes will be overridden on upgrade. + + + +genrule { + name: "copy_num-bigint_build_out", + srcs: ["out/*"], + cmd: "cp $(in) $(genDir)", + out: [ + "probe0.ll", + "probe1.ll", + "probe2.ll", + "probe3.ll", + "radix_bases.rs", + ], +} + +rust_library { + name: "libnum_bigint", + host_supported: true, + crate_name: "num_bigint", + srcs: [ + "src/lib.rs", + ":copy_num-bigint_build_out", + ], + edition: "2018", + features: [ + "default", + "std", + ], + cfgs: [ + "has_try_from", + "u64_digit", + ], + rustlibs: [ + "libnum_integer", + "libnum_traits", + ], +} + +rust_defaults { + name: "num-bigint_test_defaults", + crate_name: "num_bigint", + srcs: [ + "src/lib.rs", + ":copy_num-bigint_build_out", + ], + test_suites: ["general-tests"], + auto_gen_config: true, + edition: "2018", + features: [ + "default", + "std", + ], + cfgs: [ + "has_try_from", + "u64_digit", + ], + rustlibs: [ + "libnum_integer", + "libnum_traits", + ], +} + +rust_test_host { + name: "num-bigint_host_test_src_lib", + defaults: ["num-bigint_test_defaults"], + test_options: { + unit_test: true, + }, +} + +rust_test { + name: "num-bigint_device_test_src_lib", + defaults: ["num-bigint_test_defaults"], +} + +rust_defaults { + name: "num-bigint_test_defaults_num_bigint", + crate_name: "num_bigint", + test_suites: ["general-tests"], + auto_gen_config: true, + edition: "2018", + features: [ + "default", + "std", + ], + cfgs: [ + "has_try_from", + "u64_digit", + ], + rustlibs: [ + "libnum_bigint", + "libnum_integer", + "libnum_traits", + ], +} + +rust_test_host { + name: "num-bigint_host_test_tests_bigint", + defaults: ["num-bigint_test_defaults_num_bigint"], + srcs: [ + "tests/bigint.rs", + ":copy_num-bigint_build_out", + ], + test_options: { + unit_test: true, + }, +} + +rust_test { + name: "num-bigint_device_test_tests_bigint", + defaults: ["num-bigint_test_defaults_num_bigint"], + srcs: [ + "tests/bigint.rs", + ":copy_num-bigint_build_out", + ], +} + +rust_test_host { + name: "num-bigint_host_test_tests_bigint_bitwise", + defaults: ["num-bigint_test_defaults_num_bigint"], + srcs: [ + "tests/bigint_bitwise.rs", + ":copy_num-bigint_build_out", + ], + test_options: { + unit_test: true, + }, +} + +rust_test { + name: "num-bigint_device_test_tests_bigint_bitwise", + defaults: ["num-bigint_test_defaults_num_bigint"], + srcs: [ + "tests/bigint_bitwise.rs", + ":copy_num-bigint_build_out", + ], +} + +rust_test_host { + name: "num-bigint_host_test_tests_bigint_scalar", + defaults: ["num-bigint_test_defaults_num_bigint"], + srcs: [ + "tests/bigint_scalar.rs", + ":copy_num-bigint_build_out", + ], + test_options: { + unit_test: true, + }, +} + +rust_test { + name: "num-bigint_device_test_tests_bigint_scalar", + defaults: ["num-bigint_test_defaults_num_bigint"], + srcs: [ + "tests/bigint_scalar.rs", + ":copy_num-bigint_build_out", + ], +} + +rust_test_host { + name: "num-bigint_host_test_tests_biguint", + defaults: ["num-bigint_test_defaults_num_bigint"], + srcs: [ + "tests/biguint.rs", + ":copy_num-bigint_build_out", + ], + test_options: { + unit_test: true, + }, +} + +rust_test { + name: "num-bigint_device_test_tests_biguint", + defaults: ["num-bigint_test_defaults_num_bigint"], + srcs: [ + "tests/biguint.rs", + ":copy_num-bigint_build_out", + ], +} + +rust_test_host { + name: "num-bigint_host_test_tests_biguint_scalar", + defaults: ["num-bigint_test_defaults_num_bigint"], + srcs: [ + "tests/biguint_scalar.rs", + ":copy_num-bigint_build_out", + ], + test_options: { + unit_test: true, + }, +} + +rust_test { + name: "num-bigint_device_test_tests_biguint_scalar", + defaults: ["num-bigint_test_defaults_num_bigint"], + srcs: [ + "tests/biguint_scalar.rs", + ":copy_num-bigint_build_out", + ], +} + +rust_test_host { + name: "num-bigint_host_test_tests_modpow", + defaults: ["num-bigint_test_defaults_num_bigint"], + srcs: [ + "tests/modpow.rs", + ":copy_num-bigint_build_out", + ], + test_options: { + unit_test: true, + }, +} + +rust_test { + name: "num-bigint_device_test_tests_modpow", + defaults: ["num-bigint_test_defaults_num_bigint"], + srcs: [ + "tests/modpow.rs", + ":copy_num-bigint_build_out", + ], +} + +rust_test_host { + name: "num-bigint_host_test_tests_roots", + defaults: ["num-bigint_test_defaults_num_bigint"], + srcs: [ + "tests/roots.rs", + ":copy_num-bigint_build_out", + ], + test_options: { + unit_test: true, + }, +} + +rust_test { + name: "num-bigint_device_test_tests_roots", + defaults: ["num-bigint_test_defaults_num_bigint"], + srcs: [ + "tests/roots.rs", + ":copy_num-bigint_build_out", + ], +} diff --git a/cargo2android.json b/cargo2android.json new file mode 100644 index 0000000..d59f27e --- /dev/null +++ b/cargo2android.json @@ -0,0 +1,7 @@ +{ + "cfg-blocklist": ["use_addcarry"], + "copy-out": true, + "device": true, + "run": true, + "tests": true +} diff --git a/out/probe0.ll b/out/probe0.ll new file mode 100644 index 0000000..31681b1 --- /dev/null +++ b/out/probe0.ll @@ -0,0 +1,9 @@ +; ModuleID = 'probe0.3a1fbbbh-cgu.0' +source_filename = "probe0.3a1fbbbh-cgu.0" +target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" +target triple = "x86_64-unknown-linux-gnu" + +!llvm.module.flags = !{!0, !1} + +!0 = !{i32 7, !"PIC Level", i32 2} +!1 = !{i32 2, !"RtLibUseGOT", i32 1} diff --git a/out/probe1.ll b/out/probe1.ll new file mode 100644 index 0000000..5715d6b --- /dev/null +++ b/out/probe1.ll @@ -0,0 +1,9 @@ +; ModuleID = 'probe1.3a1fbbbh-cgu.0' +source_filename = "probe1.3a1fbbbh-cgu.0" +target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" +target triple = "x86_64-unknown-linux-gnu" + +!llvm.module.flags = !{!0, !1} + +!0 = !{i32 7, !"PIC Level", i32 2} +!1 = !{i32 2, !"RtLibUseGOT", i32 1} diff --git a/out/probe2.ll b/out/probe2.ll new file mode 100644 index 0000000..be90c33 --- /dev/null +++ b/out/probe2.ll @@ -0,0 +1,9 @@ +; ModuleID = 'probe2.3a1fbbbh-cgu.0' +source_filename = "probe2.3a1fbbbh-cgu.0" +target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" +target triple = "x86_64-unknown-linux-gnu" + +!llvm.module.flags = !{!0, !1} + +!0 = !{i32 7, !"PIC Level", i32 2} +!1 = !{i32 2, !"RtLibUseGOT", i32 1} diff --git a/out/probe3.ll b/out/probe3.ll new file mode 100644 index 0000000..0c07f3c --- /dev/null +++ b/out/probe3.ll @@ -0,0 +1,9 @@ +; ModuleID = 'probe3.3a1fbbbh-cgu.0' +source_filename = "probe3.3a1fbbbh-cgu.0" +target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" +target triple = "x86_64-unknown-linux-gnu" + +!llvm.module.flags = !{!0, !1} + +!0 = !{i32 7, !"PIC Level", i32 2} +!1 = !{i32 2, !"RtLibUseGOT", i32 1} diff --git a/out/radix_bases.rs b/out/radix_bases.rs new file mode 100644 index 0000000..8702741 --- /dev/null +++ b/out/radix_bases.rs @@ -0,0 +1,780 @@ +#[deny(overflowing_literals)] +pub(crate) static BASES_16: [(u16, usize); 257] = [ + (0, 0), // 0 + (0, 0), // 1 + (0, 0), // 2 + (59049, 10), // 3 + (0, 0), // 4 + (15625, 6), // 5 + (46656, 6), // 6 + (16807, 5), // 7 + (0, 0), // 8 + (59049, 5), // 9 + (10000, 4), // 10 + (14641, 4), // 11 + (20736, 4), // 12 + (28561, 4), // 13 + (38416, 4), // 14 + (50625, 4), // 15 + (0, 0), // 16 + (4913, 3), // 17 + (5832, 3), // 18 + (6859, 3), // 19 + (8000, 3), // 20 + (9261, 3), // 21 + (10648, 3), // 22 + (12167, 3), // 23 + (13824, 3), // 24 + (15625, 3), // 25 + (17576, 3), // 26 + (19683, 3), // 27 + (21952, 3), // 28 + (24389, 3), // 29 + (27000, 3), // 30 + (29791, 3), // 31 + (0, 0), // 32 + (35937, 3), // 33 + (39304, 3), // 34 + (42875, 3), // 35 + (46656, 3), // 36 + (50653, 3), // 37 + (54872, 3), // 38 + (59319, 3), // 39 + (64000, 3), // 40 + (1681, 2), // 41 + (1764, 2), // 42 + (1849, 2), // 43 + (1936, 2), // 44 + (2025, 2), // 45 + (2116, 2), // 46 + (2209, 2), // 47 + (2304, 2), // 48 + (2401, 2), // 49 + (2500, 2), // 50 + (2601, 2), // 51 + (2704, 2), // 52 + (2809, 2), // 53 + (2916, 2), // 54 + (3025, 2), // 55 + (3136, 2), // 56 + (3249, 2), // 57 + (3364, 2), // 58 + (3481, 2), // 59 + (3600, 2), // 60 + (3721, 2), // 61 + (3844, 2), // 62 + (3969, 2), // 63 + (0, 0), // 64 + (4225, 2), // 65 + (4356, 2), // 66 + (4489, 2), // 67 + (4624, 2), // 68 + (4761, 2), // 69 + (4900, 2), // 70 + (5041, 2), // 71 + (5184, 2), // 72 + (5329, 2), // 73 + (5476, 2), // 74 + (5625, 2), // 75 + (5776, 2), // 76 + (5929, 2), // 77 + (6084, 2), // 78 + (6241, 2), // 79 + (6400, 2), // 80 + (6561, 2), // 81 + (6724, 2), // 82 + (6889, 2), // 83 + (7056, 2), // 84 + (7225, 2), // 85 + (7396, 2), // 86 + (7569, 2), // 87 + (7744, 2), // 88 + (7921, 2), // 89 + (8100, 2), // 90 + (8281, 2), // 91 + (8464, 2), // 92 + (8649, 2), // 93 + (8836, 2), // 94 + (9025, 2), // 95 + (9216, 2), // 96 + (9409, 2), // 97 + (9604, 2), // 98 + (9801, 2), // 99 + (10000, 2), // 100 + (10201, 2), // 101 + (10404, 2), // 102 + (10609, 2), // 103 + (10816, 2), // 104 + (11025, 2), // 105 + (11236, 2), // 106 + (11449, 2), // 107 + (11664, 2), // 108 + (11881, 2), // 109 + (12100, 2), // 110 + (12321, 2), // 111 + (12544, 2), // 112 + (12769, 2), // 113 + (12996, 2), // 114 + (13225, 2), // 115 + (13456, 2), // 116 + (13689, 2), // 117 + (13924, 2), // 118 + (14161, 2), // 119 + (14400, 2), // 120 + (14641, 2), // 121 + (14884, 2), // 122 + (15129, 2), // 123 + (15376, 2), // 124 + (15625, 2), // 125 + (15876, 2), // 126 + (16129, 2), // 127 + (0, 0), // 128 + (16641, 2), // 129 + (16900, 2), // 130 + (17161, 2), // 131 + (17424, 2), // 132 + (17689, 2), // 133 + (17956, 2), // 134 + (18225, 2), // 135 + (18496, 2), // 136 + (18769, 2), // 137 + (19044, 2), // 138 + (19321, 2), // 139 + (19600, 2), // 140 + (19881, 2), // 141 + (20164, 2), // 142 + (20449, 2), // 143 + (20736, 2), // 144 + (21025, 2), // 145 + (21316, 2), // 146 + (21609, 2), // 147 + (21904, 2), // 148 + (22201, 2), // 149 + (22500, 2), // 150 + (22801, 2), // 151 + (23104, 2), // 152 + (23409, 2), // 153 + (23716, 2), // 154 + (24025, 2), // 155 + (24336, 2), // 156 + (24649, 2), // 157 + (24964, 2), // 158 + (25281, 2), // 159 + (25600, 2), // 160 + (25921, 2), // 161 + (26244, 2), // 162 + (26569, 2), // 163 + (26896, 2), // 164 + (27225, 2), // 165 + (27556, 2), // 166 + (27889, 2), // 167 + (28224, 2), // 168 + (28561, 2), // 169 + (28900, 2), // 170 + (29241, 2), // 171 + (29584, 2), // 172 + (29929, 2), // 173 + (30276, 2), // 174 + (30625, 2), // 175 + (30976, 2), // 176 + (31329, 2), // 177 + (31684, 2), // 178 + (32041, 2), // 179 + (32400, 2), // 180 + (32761, 2), // 181 + (33124, 2), // 182 + (33489, 2), // 183 + (33856, 2), // 184 + (34225, 2), // 185 + (34596, 2), // 186 + (34969, 2), // 187 + (35344, 2), // 188 + (35721, 2), // 189 + (36100, 2), // 190 + (36481, 2), // 191 + (36864, 2), // 192 + (37249, 2), // 193 + (37636, 2), // 194 + (38025, 2), // 195 + (38416, 2), // 196 + (38809, 2), // 197 + (39204, 2), // 198 + (39601, 2), // 199 + (40000, 2), // 200 + (40401, 2), // 201 + (40804, 2), // 202 + (41209, 2), // 203 + (41616, 2), // 204 + (42025, 2), // 205 + (42436, 2), // 206 + (42849, 2), // 207 + (43264, 2), // 208 + (43681, 2), // 209 + (44100, 2), // 210 + (44521, 2), // 211 + (44944, 2), // 212 + (45369, 2), // 213 + (45796, 2), // 214 + (46225, 2), // 215 + (46656, 2), // 216 + (47089, 2), // 217 + (47524, 2), // 218 + (47961, 2), // 219 + (48400, 2), // 220 + (48841, 2), // 221 + (49284, 2), // 222 + (49729, 2), // 223 + (50176, 2), // 224 + (50625, 2), // 225 + (51076, 2), // 226 + (51529, 2), // 227 + (51984, 2), // 228 + (52441, 2), // 229 + (52900, 2), // 230 + (53361, 2), // 231 + (53824, 2), // 232 + (54289, 2), // 233 + (54756, 2), // 234 + (55225, 2), // 235 + (55696, 2), // 236 + (56169, 2), // 237 + (56644, 2), // 238 + (57121, 2), // 239 + (57600, 2), // 240 + (58081, 2), // 241 + (58564, 2), // 242 + (59049, 2), // 243 + (59536, 2), // 244 + (60025, 2), // 245 + (60516, 2), // 246 + (61009, 2), // 247 + (61504, 2), // 248 + (62001, 2), // 249 + (62500, 2), // 250 + (63001, 2), // 251 + (63504, 2), // 252 + (64009, 2), // 253 + (64516, 2), // 254 + (65025, 2), // 255 + (0, 0), // 256 +]; +#[deny(overflowing_literals)] +pub(crate) static BASES_32: [(u32, usize); 257] = [ + (0, 0), // 0 + (0, 0), // 1 + (0, 0), // 2 + (3486784401, 20), // 3 + (0, 0), // 4 + (1220703125, 13), // 5 + (2176782336, 12), // 6 + (1977326743, 11), // 7 + (0, 0), // 8 + (3486784401, 10), // 9 + (1000000000, 9), // 10 + (2357947691, 9), // 11 + (429981696, 8), // 12 + (815730721, 8), // 13 + (1475789056, 8), // 14 + (2562890625, 8), // 15 + (0, 0), // 16 + (410338673, 7), // 17 + (612220032, 7), // 18 + (893871739, 7), // 19 + (1280000000, 7), // 20 + (1801088541, 7), // 21 + (2494357888, 7), // 22 + (3404825447, 7), // 23 + (191102976, 6), // 24 + (244140625, 6), // 25 + (308915776, 6), // 26 + (387420489, 6), // 27 + (481890304, 6), // 28 + (594823321, 6), // 29 + (729000000, 6), // 30 + (887503681, 6), // 31 + (0, 0), // 32 + (1291467969, 6), // 33 + (1544804416, 6), // 34 + (1838265625, 6), // 35 + (2176782336, 6), // 36 + (2565726409, 6), // 37 + (3010936384, 6), // 38 + (3518743761, 6), // 39 + (4096000000, 6), // 40 + (115856201, 5), // 41 + (130691232, 5), // 42 + (147008443, 5), // 43 + (164916224, 5), // 44 + (184528125, 5), // 45 + (205962976, 5), // 46 + (229345007, 5), // 47 + (254803968, 5), // 48 + (282475249, 5), // 49 + (312500000, 5), // 50 + (345025251, 5), // 51 + (380204032, 5), // 52 + (418195493, 5), // 53 + (459165024, 5), // 54 + (503284375, 5), // 55 + (550731776, 5), // 56 + (601692057, 5), // 57 + (656356768, 5), // 58 + (714924299, 5), // 59 + (777600000, 5), // 60 + (844596301, 5), // 61 + (916132832, 5), // 62 + (992436543, 5), // 63 + (0, 0), // 64 + (1160290625, 5), // 65 + (1252332576, 5), // 66 + (1350125107, 5), // 67 + (1453933568, 5), // 68 + (1564031349, 5), // 69 + (1680700000, 5), // 70 + (1804229351, 5), // 71 + (1934917632, 5), // 72 + (2073071593, 5), // 73 + (2219006624, 5), // 74 + (2373046875, 5), // 75 + (2535525376, 5), // 76 + (2706784157, 5), // 77 + (2887174368, 5), // 78 + (3077056399, 5), // 79 + (3276800000, 5), // 80 + (3486784401, 5), // 81 + (3707398432, 5), // 82 + (3939040643, 5), // 83 + (4182119424, 5), // 84 + (52200625, 4), // 85 + (54700816, 4), // 86 + (57289761, 4), // 87 + (59969536, 4), // 88 + (62742241, 4), // 89 + (65610000, 4), // 90 + (68574961, 4), // 91 + (71639296, 4), // 92 + (74805201, 4), // 93 + (78074896, 4), // 94 + (81450625, 4), // 95 + (84934656, 4), // 96 + (88529281, 4), // 97 + (92236816, 4), // 98 + (96059601, 4), // 99 + (100000000, 4), // 100 + (104060401, 4), // 101 + (108243216, 4), // 102 + (112550881, 4), // 103 + (116985856, 4), // 104 + (121550625, 4), // 105 + (126247696, 4), // 106 + (131079601, 4), // 107 + (136048896, 4), // 108 + (141158161, 4), // 109 + (146410000, 4), // 110 + (151807041, 4), // 111 + (157351936, 4), // 112 + (163047361, 4), // 113 + (168896016, 4), // 114 + (174900625, 4), // 115 + (181063936, 4), // 116 + (187388721, 4), // 117 + (193877776, 4), // 118 + (200533921, 4), // 119 + (207360000, 4), // 120 + (214358881, 4), // 121 + (221533456, 4), // 122 + (228886641, 4), // 123 + (236421376, 4), // 124 + (244140625, 4), // 125 + (252047376, 4), // 126 + (260144641, 4), // 127 + (0, 0), // 128 + (276922881, 4), // 129 + (285610000, 4), // 130 + (294499921, 4), // 131 + (303595776, 4), // 132 + (312900721, 4), // 133 + (322417936, 4), // 134 + (332150625, 4), // 135 + (342102016, 4), // 136 + (352275361, 4), // 137 + (362673936, 4), // 138 + (373301041, 4), // 139 + (384160000, 4), // 140 + (395254161, 4), // 141 + (406586896, 4), // 142 + (418161601, 4), // 143 + (429981696, 4), // 144 + (442050625, 4), // 145 + (454371856, 4), // 146 + (466948881, 4), // 147 + (479785216, 4), // 148 + (492884401, 4), // 149 + (506250000, 4), // 150 + (519885601, 4), // 151 + (533794816, 4), // 152 + (547981281, 4), // 153 + (562448656, 4), // 154 + (577200625, 4), // 155 + (592240896, 4), // 156 + (607573201, 4), // 157 + (623201296, 4), // 158 + (639128961, 4), // 159 + (655360000, 4), // 160 + (671898241, 4), // 161 + (688747536, 4), // 162 + (705911761, 4), // 163 + (723394816, 4), // 164 + (741200625, 4), // 165 + (759333136, 4), // 166 + (777796321, 4), // 167 + (796594176, 4), // 168 + (815730721, 4), // 169 + (835210000, 4), // 170 + (855036081, 4), // 171 + (875213056, 4), // 172 + (895745041, 4), // 173 + (916636176, 4), // 174 + (937890625, 4), // 175 + (959512576, 4), // 176 + (981506241, 4), // 177 + (1003875856, 4), // 178 + (1026625681, 4), // 179 + (1049760000, 4), // 180 + (1073283121, 4), // 181 + (1097199376, 4), // 182 + (1121513121, 4), // 183 + (1146228736, 4), // 184 + (1171350625, 4), // 185 + (1196883216, 4), // 186 + (1222830961, 4), // 187 + (1249198336, 4), // 188 + (1275989841, 4), // 189 + (1303210000, 4), // 190 + (1330863361, 4), // 191 + (1358954496, 4), // 192 + (1387488001, 4), // 193 + (1416468496, 4), // 194 + (1445900625, 4), // 195 + (1475789056, 4), // 196 + (1506138481, 4), // 197 + (1536953616, 4), // 198 + (1568239201, 4), // 199 + (1600000000, 4), // 200 + (1632240801, 4), // 201 + (1664966416, 4), // 202 + (1698181681, 4), // 203 + (1731891456, 4), // 204 + (1766100625, 4), // 205 + (1800814096, 4), // 206 + (1836036801, 4), // 207 + (1871773696, 4), // 208 + (1908029761, 4), // 209 + (1944810000, 4), // 210 + (1982119441, 4), // 211 + (2019963136, 4), // 212 + (2058346161, 4), // 213 + (2097273616, 4), // 214 + (2136750625, 4), // 215 + (2176782336, 4), // 216 + (2217373921, 4), // 217 + (2258530576, 4), // 218 + (2300257521, 4), // 219 + (2342560000, 4), // 220 + (2385443281, 4), // 221 + (2428912656, 4), // 222 + (2472973441, 4), // 223 + (2517630976, 4), // 224 + (2562890625, 4), // 225 + (2608757776, 4), // 226 + (2655237841, 4), // 227 + (2702336256, 4), // 228 + (2750058481, 4), // 229 + (2798410000, 4), // 230 + (2847396321, 4), // 231 + (2897022976, 4), // 232 + (2947295521, 4), // 233 + (2998219536, 4), // 234 + (3049800625, 4), // 235 + (3102044416, 4), // 236 + (3154956561, 4), // 237 + (3208542736, 4), // 238 + (3262808641, 4), // 239 + (3317760000, 4), // 240 + (3373402561, 4), // 241 + (3429742096, 4), // 242 + (3486784401, 4), // 243 + (3544535296, 4), // 244 + (3603000625, 4), // 245 + (3662186256, 4), // 246 + (3722098081, 4), // 247 + (3782742016, 4), // 248 + (3844124001, 4), // 249 + (3906250000, 4), // 250 + (3969126001, 4), // 251 + (4032758016, 4), // 252 + (4097152081, 4), // 253 + (4162314256, 4), // 254 + (4228250625, 4), // 255 + (0, 0), // 256 +]; +#[deny(overflowing_literals)] +pub(crate) static BASES_64: [(u64, usize); 257] = [ + (0, 0), // 0 + (0, 0), // 1 + (0, 0), // 2 + (12157665459056928801, 40), // 3 + (0, 0), // 4 + (7450580596923828125, 27), // 5 + (4738381338321616896, 24), // 6 + (3909821048582988049, 22), // 7 + (0, 0), // 8 + (12157665459056928801, 20), // 9 + (10000000000000000000, 19), // 10 + (5559917313492231481, 18), // 11 + (2218611106740436992, 17), // 12 + (8650415919381337933, 17), // 13 + (2177953337809371136, 16), // 14 + (6568408355712890625, 16), // 15 + (0, 0), // 16 + (2862423051509815793, 15), // 17 + (6746640616477458432, 15), // 18 + (15181127029874798299, 15), // 19 + (1638400000000000000, 14), // 20 + (3243919932521508681, 14), // 21 + (6221821273427820544, 14), // 22 + (11592836324538749809, 14), // 23 + (876488338465357824, 13), // 24 + (1490116119384765625, 13), // 25 + (2481152873203736576, 13), // 26 + (4052555153018976267, 13), // 27 + (6502111422497947648, 13), // 28 + (10260628712958602189, 13), // 29 + (15943230000000000000, 13), // 30 + (787662783788549761, 12), // 31 + (0, 0), // 32 + (1667889514952984961, 12), // 33 + (2386420683693101056, 12), // 34 + (3379220508056640625, 12), // 35 + (4738381338321616896, 12), // 36 + (6582952005840035281, 12), // 37 + (9065737908494995456, 12), // 38 + (12381557655576425121, 12), // 39 + (16777216000000000000, 12), // 40 + (550329031716248441, 11), // 41 + (717368321110468608, 11), // 42 + (929293739471222707, 11), // 43 + (1196683881290399744, 11), // 44 + (1532278301220703125, 11), // 45 + (1951354384207722496, 11), // 46 + (2472159215084012303, 11), // 47 + (3116402981210161152, 11), // 48 + (3909821048582988049, 11), // 49 + (4882812500000000000, 11), // 50 + (6071163615208263051, 11), // 51 + (7516865509350965248, 11), // 52 + (9269035929372191597, 11), // 53 + (11384956040305711104, 11), // 54 + (13931233916552734375, 11), // 55 + (16985107389382393856, 11), // 56 + (362033331456891249, 10), // 57 + (430804206899405824, 10), // 58 + (511116753300641401, 10), // 59 + (604661760000000000, 10), // 60 + (713342911662882601, 10), // 61 + (839299365868340224, 10), // 62 + (984930291881790849, 10), // 63 + (0, 0), // 64 + (1346274334462890625, 10), // 65 + (1568336880910795776, 10), // 66 + (1822837804551761449, 10), // 67 + (2113922820157210624, 10), // 68 + (2446194060654759801, 10), // 69 + (2824752490000000000, 10), // 70 + (3255243551009881201, 10), // 71 + (3743906242624487424, 10), // 72 + (4297625829703557649, 10), // 73 + (4923990397355877376, 10), // 74 + (5631351470947265625, 10), // 75 + (6428888932339941376, 10), // 76 + (7326680472586200649, 10), // 77 + (8335775831236199424, 10), // 78 + (9468276082626847201, 10), // 79 + (10737418240000000000, 10), // 80 + (12157665459056928801, 10), // 81 + (13744803133596058624, 10), // 82 + (15516041187205853449, 10), // 83 + (17490122876598091776, 10), // 84 + (231616946283203125, 9), // 85 + (257327417311663616, 9), // 86 + (285544154243029527, 9), // 87 + (316478381828866048, 9), // 88 + (350356403707485209, 9), // 89 + (387420489000000000, 9), // 90 + (427929800129788411, 9), // 91 + (472161363286556672, 9), // 92 + (520411082988487293, 9), // 93 + (572994802228616704, 9), // 94 + (630249409724609375, 9), // 95 + (692533995824480256, 9), // 96 + (760231058654565217, 9), // 97 + (833747762130149888, 9), // 98 + (913517247483640899, 9), // 99 + (1000000000000000000, 9), // 100 + (1093685272684360901, 9), // 101 + (1195092568622310912, 9), // 102 + (1304773183829244583, 9), // 103 + (1423311812421484544, 9), // 104 + (1551328215978515625, 9), // 105 + (1689478959002692096, 9), // 106 + (1838459212420154507, 9), // 107 + (1999004627104432128, 9), // 108 + (2171893279442309389, 9), // 109 + (2357947691000000000, 9), // 110 + (2558036924386500591, 9), // 111 + (2773078757450186752, 9), // 112 + (3004041937984268273, 9), // 113 + (3251948521156637184, 9), // 114 + (3517876291919921875, 9), // 115 + (3802961274698203136, 9), // 116 + (4108400332687853397, 9), // 117 + (4435453859151328768, 9), // 118 + (4785448563124474679, 9), // 119 + (5159780352000000000, 9), // 120 + (5559917313492231481, 9), // 121 + (5987402799531080192, 9), // 122 + (6443858614676334363, 9), // 123 + (6930988311686938624, 9), // 124 + (7450580596923828125, 9), // 125 + (8004512848309157376, 9), // 126 + (8594754748609397887, 9), // 127 + (0, 0), // 128 + (9892530380752880769, 9), // 129 + (10604499373000000000, 9), // 130 + (11361656654439817571, 9), // 131 + (12166492167065567232, 9), // 132 + (13021612539908538853, 9), // 133 + (13929745610903012864, 9), // 134 + (14893745087865234375, 9), // 135 + (15916595351771938816, 9), // 136 + (17001416405572203977, 9), // 137 + (18151468971815029248, 9), // 138 + (139353667211683681, 8), // 139 + (147578905600000000, 8), // 140 + (156225851787813921, 8), // 141 + (165312903998914816, 8), // 142 + (174859124550883201, 8), // 143 + (184884258895036416, 8), // 144 + (195408755062890625, 8), // 145 + (206453783524884736, 8), // 146 + (218041257467152161, 8), // 147 + (230193853492166656, 8), // 148 + (242935032749128801, 8), // 149 + (256289062500000000, 8), // 150 + (270281038127131201, 8), // 151 + (284936905588473856, 8), // 152 + (300283484326400961, 8), // 153 + (316348490636206336, 8), // 154 + (333160561500390625, 8), // 155 + (350749278894882816, 8), // 156 + (369145194573386401, 8), // 157 + (388379855336079616, 8), // 158 + (408485828788939521, 8), // 159 + (429496729600000000, 8), // 160 + (451447246258894081, 8), // 161 + (474373168346071296, 8), // 162 + (498311414318121121, 8), // 163 + (523300059815673856, 8), // 164 + (549378366500390625, 8), // 165 + (576586811427594496, 8), // 166 + (604967116961135041, 8), // 167 + (634562281237118976, 8), // 168 + (665416609183179841, 8), // 169 + (697575744100000000, 8), // 170 + (731086699811838561, 8), // 171 + (765997893392859136, 8), // 172 + (802359178476091681, 8), // 173 + (840221879151902976, 8), // 174 + (879638824462890625, 8), // 175 + (920664383502155776, 8), // 176 + (963354501121950081, 8), // 177 + (1007766734259732736, 8), // 178 + (1053960288888713761, 8), // 179 + (1101996057600000000, 8), // 180 + (1151936657823500641, 8), // 181 + (1203846470694789376, 8), // 182 + (1257791680575160641, 8), // 183 + (1313840315232157696, 8), // 184 + (1372062286687890625, 8), // 185 + (1432529432742502656, 8), // 186 + (1495315559180183521, 8), // 187 + (1560496482665168896, 8), // 188 + (1628150074335205281, 8), // 189 + (1698356304100000000, 8), // 190 + (1771197285652216321, 8), // 191 + (1846757322198614016, 8), // 192 + (1925122952918976001, 8), // 193 + (2006383000160502016, 8), // 194 + (2090628617375390625, 8), // 195 + (2177953337809371136, 8), // 196 + (2268453123948987361, 8), // 197 + (2362226417735475456, 8), // 198 + (2459374191553118401, 8), // 199 + (2560000000000000000, 8), // 200 + (2664210032449121601, 8), // 201 + (2772113166407885056, 8), // 202 + (2883821021683985761, 8), // 203 + (2999448015365799936, 8), // 204 + (3119111417625390625, 8), // 205 + (3242931408352297216, 8), // 206 + (3371031134626313601, 8), // 207 + (3503536769037500416, 8), // 208 + (3640577568861717121, 8), // 209 + (3782285936100000000, 8), // 210 + (3928797478390152481, 8), // 211 + (4080251070798954496, 8), // 212 + (4236788918503437921, 8), // 213 + (4398556620369715456, 8), // 214 + (4565703233437890625, 8), // 215 + (4738381338321616896, 8), // 216 + (4916747105530914241, 8), // 217 + (5100960362726891776, 8), // 218 + (5291184662917065441, 8), // 219 + (5487587353600000000, 8), // 220 + (5690339646868044961, 8), // 221 + (5899616690476974336, 8), // 222 + (6115597639891380481, 8), // 223 + (6338465731314712576, 8), // 224 + (6568408355712890625, 8), // 225 + (6805617133840466176, 8), // 226 + (7050287992278341281, 8), // 227 + (7302621240492097536, 8), // 228 + (7562821648920027361, 8), // 229 + (7831098528100000000, 8), // 230 + (8107665808844335041, 8), // 231 + (8392742123471896576, 8), // 232 + (8686550888106661441, 8), // 233 + (8989320386052055296, 8), // 234 + (9301283852250390625, 8), // 235 + (9622679558836781056, 8), // 236 + (9953750901796946721, 8), // 237 + (10294746488738365696, 8), // 238 + (10645920227784266881, 8), // 239 + (11007531417600000000, 8), // 240 + (11379844838561358721, 8), // 241 + (11763130845074473216, 8), // 242 + (12157665459056928801, 8), // 243 + (12563730464589807616, 8), // 244 + (12981613503750390625, 8), // 245 + (13411608173635297536, 8), // 246 + (13854014124583882561, 8), // 247 + (14309137159611744256, 8), // 248 + (14777289335064248001, 8), // 249 + (15258789062500000000, 8), // 250 + (15753961211814252001, 8), // 251 + (16263137215612256256, 8), // 252 + (16786655174842630561, 8), // 253 + (17324859965700833536, 8), // 254 + (17878103347812890625, 8), // 255 + (0, 0), // 256 +]; |