71 lines
1.3 KiB
Rust
71 lines
1.3 KiB
Rust
// Adapted from https://github.com/Alexhuszagh/rust-lexical.
|
|
|
|
//! Pre-computed small powers.
|
|
|
|
// 32 BIT
|
|
#[cfg(fast_arithmetic = "32")]
|
|
pub(crate) const POW5_32: [u32; 14] = [
|
|
1, 5, 25, 125, 625, 3125, 15625, 78125, 390625, 1953125, 9765625, 48828125, 244140625,
|
|
1220703125,
|
|
];
|
|
|
|
#[cfg(fast_arithmetic = "32")]
|
|
pub(crate) const POW10_32: [u32; 10] = [
|
|
1, 10, 100, 1000, 10000, 100000, 1000000, 10000000, 100000000, 1000000000,
|
|
];
|
|
|
|
// 64 BIT
|
|
#[cfg(fast_arithmetic = "64")]
|
|
pub(crate) const POW5_64: [u64; 28] = [
|
|
1,
|
|
5,
|
|
25,
|
|
125,
|
|
625,
|
|
3125,
|
|
15625,
|
|
78125,
|
|
390625,
|
|
1953125,
|
|
9765625,
|
|
48828125,
|
|
244140625,
|
|
1220703125,
|
|
6103515625,
|
|
30517578125,
|
|
152587890625,
|
|
762939453125,
|
|
3814697265625,
|
|
19073486328125,
|
|
95367431640625,
|
|
476837158203125,
|
|
2384185791015625,
|
|
11920928955078125,
|
|
59604644775390625,
|
|
298023223876953125,
|
|
1490116119384765625,
|
|
7450580596923828125,
|
|
];
|
|
pub(crate) const POW10_64: [u64; 20] = [
|
|
1,
|
|
10,
|
|
100,
|
|
1000,
|
|
10000,
|
|
100000,
|
|
1000000,
|
|
10000000,
|
|
100000000,
|
|
1000000000,
|
|
10000000000,
|
|
100000000000,
|
|
1000000000000,
|
|
10000000000000,
|
|
100000000000000,
|
|
1000000000000000,
|
|
10000000000000000,
|
|
100000000000000000,
|
|
1000000000000000000,
|
|
10000000000000000000,
|
|
];
|