diff options
| author | Maybe Waffle <waffle.lapkin@gmail.com> | 2022-09-22 17:44:06 +0400 |
|---|---|---|
| committer | Maybe Waffle <waffle.lapkin@gmail.com> | 2022-09-22 17:44:06 +0400 |
| commit | 98a32305afabb8e31d898e2a74da63268e0a7f5f (patch) | |
| tree | 2439a522a12a494a8b1bcdb83f388c801945bcf5 | |
| parent | 31b71816cd66d53b544902f38b7043c773d3ecda (diff) | |
| download | rust-98a32305afabb8e31d898e2a74da63268e0a7f5f.tar.gz rust-98a32305afabb8e31d898e2a74da63268e0a7f5f.zip | |
Apply changes proposed in the review
| -rw-r--r-- | library/core/src/fmt/num.rs | 66 |
1 files changed, 33 insertions, 33 deletions
diff --git a/library/core/src/fmt/num.rs b/library/core/src/fmt/num.rs index b11ed6b0b42..d8365ae9bf9 100644 --- a/library/core/src/fmt/num.rs +++ b/library/core/src/fmt/num.rs @@ -345,7 +345,7 @@ macro_rules! impl_Exp { // decode 2 chars at a time while n >= 100 { - let d1 = ((n % 100) << 1) as usize; + let d1 = ((n % 100) as usize) << 1; curr -= 2; // SAFETY: `d1 <= 198`, so we can copy from `lut_ptr[d1..d1 + 2]` since // `DEC_DIGITS_LUT` has a length of 200. @@ -494,41 +494,41 @@ fn parse_u64_into<const N: usize>(mut n: u64, buf: &mut [MaybeUninit<u8>; N], cu n /= 1e16 as u64; // Some of these are nops but it looks more elegant this way. - let d1 = (((to_parse / 1e14 as u64) % 100) << 1) as usize; - let d2 = (((to_parse / 1e12 as u64) % 100) << 1) as usize; - let d3 = (((to_parse / 1e10 as u64) % 100) << 1) as usize; - let d4 = (((to_parse / 1e8 as u64) % 100) << 1) as usize; - let d5 = (((to_parse / 1e6 as u64) % 100) << 1) as usize; - let d6 = (((to_parse / 1e4 as u64) % 100) << 1) as usize; - let d7 = (((to_parse / 1e2 as u64) % 100) << 1) as usize; - let d8 = (((to_parse / 1e0 as u64) % 100) << 1) as usize; + let d1 = ((to_parse / 1e14 as u64) % 100) << 1; + let d2 = ((to_parse / 1e12 as u64) % 100) << 1; + let d3 = ((to_parse / 1e10 as u64) % 100) << 1; + let d4 = ((to_parse / 1e8 as u64) % 100) << 1; + let d5 = ((to_parse / 1e6 as u64) % 100) << 1; + let d6 = ((to_parse / 1e4 as u64) % 100) << 1; + let d7 = ((to_parse / 1e2 as u64) % 100) << 1; + let d8 = ((to_parse / 1e0 as u64) % 100) << 1; *curr -= 16; - ptr::copy_nonoverlapping(lut_ptr.add(d1), buf_ptr.add(*curr + 0), 2); - ptr::copy_nonoverlapping(lut_ptr.add(d2), buf_ptr.add(*curr + 2), 2); - ptr::copy_nonoverlapping(lut_ptr.add(d3), buf_ptr.add(*curr + 4), 2); - ptr::copy_nonoverlapping(lut_ptr.add(d4), buf_ptr.add(*curr + 6), 2); - ptr::copy_nonoverlapping(lut_ptr.add(d5), buf_ptr.add(*curr + 8), 2); - ptr::copy_nonoverlapping(lut_ptr.add(d6), buf_ptr.add(*curr + 10), 2); - ptr::copy_nonoverlapping(lut_ptr.add(d7), buf_ptr.add(*curr + 12), 2); - ptr::copy_nonoverlapping(lut_ptr.add(d8), buf_ptr.add(*curr + 14), 2); + ptr::copy_nonoverlapping(lut_ptr.add(d1 as usize), buf_ptr.add(*curr + 0), 2); + ptr::copy_nonoverlapping(lut_ptr.add(d2 as usize), buf_ptr.add(*curr + 2), 2); + ptr::copy_nonoverlapping(lut_ptr.add(d3 as usize), buf_ptr.add(*curr + 4), 2); + ptr::copy_nonoverlapping(lut_ptr.add(d4 as usize), buf_ptr.add(*curr + 6), 2); + ptr::copy_nonoverlapping(lut_ptr.add(d5 as usize), buf_ptr.add(*curr + 8), 2); + ptr::copy_nonoverlapping(lut_ptr.add(d6 as usize), buf_ptr.add(*curr + 10), 2); + ptr::copy_nonoverlapping(lut_ptr.add(d7 as usize), buf_ptr.add(*curr + 12), 2); + ptr::copy_nonoverlapping(lut_ptr.add(d8 as usize), buf_ptr.add(*curr + 14), 2); } if n >= 1e8 as u64 { let to_parse = n % 1e8 as u64; n /= 1e8 as u64; // Some of these are nops but it looks more elegant this way. - let d1 = (((to_parse / 1e6 as u64) % 100) << 1) as usize; - let d2 = (((to_parse / 1e4 as u64) % 100) << 1) as usize; - let d3 = (((to_parse / 1e2 as u64) % 100) << 1) as usize; - let d4 = (((to_parse / 1e0 as u64) % 100) << 1) as usize; + let d1 = ((to_parse / 1e6 as u64) % 100) << 1; + let d2 = ((to_parse / 1e4 as u64) % 100) << 1; + let d3 = ((to_parse / 1e2 as u64) % 100) << 1; + let d4 = ((to_parse / 1e0 as u64) % 100) << 1; *curr -= 8; - ptr::copy_nonoverlapping(lut_ptr.add(d1), buf_ptr.add(*curr + 0), 2); - ptr::copy_nonoverlapping(lut_ptr.add(d2), buf_ptr.add(*curr + 2), 2); - ptr::copy_nonoverlapping(lut_ptr.add(d3), buf_ptr.add(*curr + 4), 2); - ptr::copy_nonoverlapping(lut_ptr.add(d4), buf_ptr.add(*curr + 6), 2); + ptr::copy_nonoverlapping(lut_ptr.add(d1 as usize), buf_ptr.add(*curr + 0), 2); + ptr::copy_nonoverlapping(lut_ptr.add(d2 as usize), buf_ptr.add(*curr + 2), 2); + ptr::copy_nonoverlapping(lut_ptr.add(d3 as usize), buf_ptr.add(*curr + 4), 2); + ptr::copy_nonoverlapping(lut_ptr.add(d4 as usize), buf_ptr.add(*curr + 6), 2); } // `n` < 1e8 < (1 << 32) let mut n = n as u32; @@ -536,21 +536,21 @@ fn parse_u64_into<const N: usize>(mut n: u64, buf: &mut [MaybeUninit<u8>; N], cu let to_parse = n % 1e4 as u32; n /= 1e4 as u32; - let d1 = ((to_parse / 100) << 1) as usize; - let d2 = ((to_parse % 100) << 1) as usize; + let d1 = (to_parse / 100) << 1; + let d2 = (to_parse % 100) << 1; *curr -= 4; - ptr::copy_nonoverlapping(lut_ptr.add(d1), buf_ptr.add(*curr + 0), 2); - ptr::copy_nonoverlapping(lut_ptr.add(d2), buf_ptr.add(*curr + 2), 2); + ptr::copy_nonoverlapping(lut_ptr.add(d1 as usize), buf_ptr.add(*curr + 0), 2); + ptr::copy_nonoverlapping(lut_ptr.add(d2 as usize), buf_ptr.add(*curr + 2), 2); } // `n` < 1e4 < (1 << 16) let mut n = n as u16; if n >= 100 { - let d1 = ((n % 100) << 1) as usize; + let d1 = (n % 100) << 1; n /= 100; *curr -= 2; - ptr::copy_nonoverlapping(lut_ptr.add(d1), buf_ptr.add(*curr), 2); + ptr::copy_nonoverlapping(lut_ptr.add(d1 as usize), buf_ptr.add(*curr), 2); } // decode last 1 or 2 chars @@ -558,9 +558,9 @@ fn parse_u64_into<const N: usize>(mut n: u64, buf: &mut [MaybeUninit<u8>; N], cu *curr -= 1; *buf_ptr.add(*curr) = (n as u8) + b'0'; } else { - let d1 = (n << 1) as usize; + let d1 = n << 1; *curr -= 2; - ptr::copy_nonoverlapping(lut_ptr.add(d1), buf_ptr.add(*curr), 2); + ptr::copy_nonoverlapping(lut_ptr.add(d1 as usize), buf_ptr.add(*curr), 2); } } } |
