Skip to content

Commit 8999f74

Browse files
committed
Rearange loop
1 parent ab164d7 commit 8999f74

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

src/day7.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,7 @@ unsafe fn part1_inner(s: &str) -> u64 {
4949
i += 2;
5050

5151
let mut num = 0;
52-
while *s.get_unchecked(i) != b'\n' {
53-
num *= 10;
54-
num += (*s.get_unchecked(i) - b'0') as u64;
55-
i += 1;
52+
loop {
5653
if !s.get_unchecked(i).is_ascii_digit() {
5754
v.get_unchecked_mut(v_len)
5855
.write(NonZero::new_unchecked(num));
@@ -63,6 +60,9 @@ unsafe fn part1_inner(s: &str) -> u64 {
6360
break;
6461
}
6562
}
63+
num *= 10;
64+
num += (*s.get_unchecked(i) - b'0') as u64;
65+
i += 1;
6666
}
6767

6868
let init = &*(v.get_unchecked(..v_len) as *const [MaybeUninit<NonZero<u64>>]
@@ -136,10 +136,7 @@ unsafe fn part2_inner(s: &str) -> u64 {
136136
i += 2;
137137

138138
let mut num = 0;
139-
while *s.get_unchecked(i) != b'\n' {
140-
num *= 10;
141-
num += (*s.get_unchecked(i) - b'0') as u64;
142-
i += 1;
139+
loop {
143140
if !s.get_unchecked(i).is_ascii_digit() {
144141
v.get_unchecked_mut(v_len)
145142
.write(NonZero::new_unchecked(num));
@@ -150,6 +147,9 @@ unsafe fn part2_inner(s: &str) -> u64 {
150147
break;
151148
}
152149
}
150+
num *= 10;
151+
num += (*s.get_unchecked(i) - b'0') as u64;
152+
i += 1;
153153
}
154154

155155
let init = &*(v.get_unchecked(..v_len) as *const [MaybeUninit<NonZero<u64>>]

0 commit comments

Comments
 (0)