about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMaybe Waffle <waffle.lapkin@gmail.com>2022-09-22 17:44:06 +0400
committerMaybe Waffle <waffle.lapkin@gmail.com>2022-09-22 17:44:06 +0400
commit98a32305afabb8e31d898e2a74da63268e0a7f5f (patch)
tree2439a522a12a494a8b1bcdb83f388c801945bcf5
parent31b71816cd66d53b544902f38b7043c773d3ecda (diff)
downloadrust-98a32305afabb8e31d898e2a74da63268e0a7f5f.tar.gz
rust-98a32305afabb8e31d898e2a74da63268e0a7f5f.zip
Apply changes proposed in the review
-rw-r--r--library/core/src/fmt/num.rs66
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);
         }
     }
 }