1 //! Pre-computed small tables for parsing decimal strings. 2 3 #![doc(hidden)] 4 #![cfg(not(feature = "compact"))] 5 6 /// Pre-computed, small powers-of-5. 7 pub const SMALL_INT_POW5: [u64; 28] = [ 8 1, 9 5, 10 25, 11 125, 12 625, 13 3125, 14 15625, 15 78125, 16 390625, 17 1953125, 18 9765625, 19 48828125, 20 244140625, 21 1220703125, 22 6103515625, 23 30517578125, 24 152587890625, 25 762939453125, 26 3814697265625, 27 19073486328125, 28 95367431640625, 29 476837158203125, 30 2384185791015625, 31 11920928955078125, 32 59604644775390625, 33 298023223876953125, 34 1490116119384765625, 35 7450580596923828125, 36 ]; 37 38 /// Pre-computed, small powers-of-10. 39 pub const SMALL_INT_POW10: [u64; 20] = [ 40 1, 41 10, 42 100, 43 1000, 44 10000, 45 100000, 46 1000000, 47 10000000, 48 100000000, 49 1000000000, 50 10000000000, 51 100000000000, 52 1000000000000, 53 10000000000000, 54 100000000000000, 55 1000000000000000, 56 10000000000000000, 57 100000000000000000, 58 1000000000000000000, 59 10000000000000000000, 60 ]; 61 62 /// Pre-computed, small powers-of-10. 63 pub const SMALL_F32_POW10: [f32; 16] = 64 [1e0, 1e1, 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9, 1e10, 0., 0., 0., 0., 0.]; 65 66 /// Pre-computed, small powers-of-10. 67 pub const SMALL_F64_POW10: [f64; 32] = [ 68 1e0, 1e1, 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13, 1e14, 1e15, 1e16, 69 1e17, 1e18, 1e19, 1e20, 1e21, 1e22, 0., 0., 0., 0., 0., 0., 0., 0., 0., 70 ]; 71 72 /// Pre-computed large power-of-5 for 32-bit limbs. 73 #[cfg(not(all(target_pointer_width = "64", not(target_arch = "sparc"))))] 74 pub const LARGE_POW5: [u32; 10] = [ 75 4279965485, 329373468, 4020270615, 2137533757, 4287402176, 1057042919, 1071430142, 2440757623, 76 381945767, 46164893, 77 ]; 78 79 /// Pre-computed large power-of-5 for 64-bit limbs. 80 #[cfg(all(target_pointer_width = "64", not(target_arch = "sparc")))] 81 pub const LARGE_POW5: [u64; 5] = [ 82 1414648277510068013, 83 9180637584431281687, 84 4539964771860779200, 85 10482974169319127550, 86 198276706040285095, 87 ]; 88 89 /// Step for large power-of-5 for 32-bit limbs. 90 pub const LARGE_POW5_STEP: u32 = 135; 91