Skip to content

Commit e9a5ede

Browse files
committed
Small part 2 improvements
1 parent 2e22156 commit e9a5ede

File tree

1 file changed

+8
-15
lines changed

1 file changed

+8
-15
lines changed

src/day8.rs

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@ use tinyvec::ArrayVec;
44
use crate::memchr_inv::OneInv;
55

66
#[cfg(not(test))]
7-
const SIZE: i32 = 50;
7+
const SIZE: i16 = 50;
88
#[cfg(test)]
9-
const SIZE: i32 = 12;
9+
const SIZE: i16 = 12;
1010

11-
const SIZE1: i32 = SIZE + 1;
11+
const SIZE1: i16 = SIZE + 1;
1212

1313
/// Has the `SIZE` lsb set
1414
const FIELD_SIZE: u64 = 2u64.pow(SIZE as u32) - 1;
@@ -21,13 +21,6 @@ pub fn part1(s: &str) -> u32 {
2121
}
2222

2323
unsafe fn part1_inner(s: &str) -> u32 {
24-
#[cfg(not(test))]
25-
const SIZE: i16 = 50;
26-
#[cfg(test)]
27-
const SIZE: i16 = 12;
28-
29-
const SIZE1: i16 = SIZE + 1;
30-
3124
let s = s.as_bytes();
3225

3326
let mut masts: [ArrayVec<[(i16, i16); 3]>; FREQ_RANGE] =
@@ -105,8 +98,8 @@ pub fn part2(s: &str) -> u64 {
10598
fn part2_inner(s: &str) -> u64 {
10699
let s = s.as_bytes();
107100

108-
let mut masts: [ArrayVec<[i32; 4]>; FREQ_RANGE] =
109-
[ArrayVec::from_array_empty([0; 4]); FREQ_RANGE];
101+
let mut masts: [ArrayVec<[i16; 3]>; FREQ_RANGE] =
102+
[ArrayVec::from_array_empty([0; 3]); FREQ_RANGE];
110103

111104
let mut antinodes = [false; (SIZE * SIZE) as usize];
112105
let mut total_antinotedes = 0;
@@ -120,7 +113,7 @@ fn part2_inner(s: &str) -> u64 {
120113
continue;
121114
}
122115
let f = s[i] - b'0';
123-
let i = i as i32;
116+
let i = i as i16;
124117

125118
let new_x = i % SIZE1;
126119
let new_y = i / SIZE1;
@@ -129,7 +122,7 @@ fn part2_inner(s: &str) -> u64 {
129122
let mast_y = mast_i / SIZE1;
130123

131124
let o_diff_x = mast_x - new_x;
132-
let o_diff_y = (new_y - mast_y).abs() as i32;
125+
let o_diff_y = new_y - mast_y;
133126

134127
for k in 0.. {
135128
let diff_x = o_diff_x * k;
@@ -158,7 +151,7 @@ fn part2_inner(s: &str) -> u64 {
158151
}
159152
}
160153

161-
masts[f as usize].push(i);
154+
masts[f as usize].try_push(i);
162155
}
163156

164157
total_antinotedes

0 commit comments

Comments
 (0)