| 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 | |