File tree Expand file tree Collapse file tree 1 file changed +8
-8
lines changed
Expand file tree Collapse file tree 1 file changed +8
-8
lines changed Original file line number Diff line number Diff 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 > > ]
You can’t perform that action at this time.
0 commit comments