mirror of
https://github.com/Noratrieb/advent-of-code.git
synced 2026-01-14 09:35:01 +01:00
cleanup
This commit is contained in:
parent
5c1a089038
commit
fa39b5faf4
11 changed files with 18 additions and 18 deletions
|
|
@ -20,7 +20,7 @@ pub unsafe fn part2(input: &str) -> u64 {
|
|||
// this out of bounds read is UB under SB, but fine under models that don't do provenance narrowing with slices. i dont care enough to fix it.
|
||||
let block = bytes.as_ptr().add(i).cast::<u64>().read_unaligned().to_le();
|
||||
|
||||
let one = (block & ((1 << (8 * 1)) - 1)) as u8;
|
||||
let one = (block & ((1 << (8)) - 1)) as u8;
|
||||
let three = block & ((1 << (8 * 3)) - 1);
|
||||
let four = block & ((1 << (8 * 4)) - 1);
|
||||
let five = block & ((1 << (8 * 5)) - 1);
|
||||
|
|
@ -42,7 +42,7 @@ pub unsafe fn part2(input: &str) -> u64 {
|
|||
};
|
||||
}
|
||||
|
||||
insert(if one >= b'0' && one <= b'9' { one } else { 0 });
|
||||
insert(if one.is_ascii_digit() { one } else { 0 });
|
||||
|
||||
check!(EIGHT five == b"eight" => b'8');
|
||||
check!(SEVEN five == b"seven" => b'7');
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ pub unsafe fn part2(input: &str) -> u64 {
|
|||
.read_unaligned()
|
||||
.to_le();
|
||||
|
||||
let one = (block & ((1 << (8 * 1)) - 1)) as u8;
|
||||
let one = (block & ((1 << 8) - 1)) as u8;
|
||||
let three = block & ((1 << (8 * 3)) - 1);
|
||||
let four = block & ((1 << (8 * 4)) - 1);
|
||||
let five = block & ((1 << (8 * 5)) - 1);
|
||||
|
|
@ -63,7 +63,7 @@ pub unsafe fn part2(input: &str) -> u64 {
|
|||
};
|
||||
}
|
||||
|
||||
acc |= if one >= b'0' && one <= b'9' { one } else { 0 };
|
||||
acc |= if one.is_ascii_digit() { one } else { 0 };
|
||||
|
||||
check!(EIGHT five == b"eight" => b'8');
|
||||
check!(SEVEN five == b"seven" => b'7');
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ pub unsafe fn part2(input: &str) -> u64 {
|
|||
.read_unaligned()
|
||||
.to_le();
|
||||
|
||||
let one = (block & ((1 << (8 * 1)) - 1)) as u8;
|
||||
let one = (block & ((1 << 8) - 1)) as u8;
|
||||
let three = block & ((1 << (8 * 3)) - 1);
|
||||
let four = block & ((1 << (8 * 4)) - 1);
|
||||
let five = block & ((1 << (8 * 5)) - 1);
|
||||
|
|
@ -61,13 +61,14 @@ pub unsafe fn part2(input: &str) -> u64 {
|
|||
|
||||
let mut acc = 0;
|
||||
|
||||
acc |= if one >= b'0' && one <= b'9' { one } else { 0 };
|
||||
acc |= if one.is_ascii_digit() { one } else { 0 };
|
||||
|
||||
let mut vector_result = None;
|
||||
|
||||
#[cfg(all(target_arch = "x86_64"))]
|
||||
#[cfg(target_arch = "x86_64")]
|
||||
if avx2 {
|
||||
use std::arch::x86_64;
|
||||
#[allow(clippy::let_and_return)]
|
||||
unsafe fn round(input: u64, compare: [u64; 4], then: [u64; 4]) -> x86_64::__m256i {
|
||||
// YYYYYYYY|AAAAAAAA|XXXXXXXX|BBBBBBBB|
|
||||
let compare = unsafe { std::mem::transmute::<_, x86_64::__m256i>(compare) };
|
||||
|
|
|
|||
|
|
@ -92,8 +92,7 @@ fn part2(input: &str) -> u64 {
|
|||
}
|
||||
}
|
||||
|
||||
let power = min[0] * min[1] * min[2];
|
||||
power
|
||||
min[0] * min[1] * min[2]
|
||||
})
|
||||
.sum()
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ pub fn basic(input: &str) -> u64 {
|
|||
}
|
||||
|
||||
let len = input.lines().next().unwrap().len();
|
||||
let empty_border = std::iter::repeat('.').take(len).collect::<String>();
|
||||
let empty_border = ".".repeat(len);
|
||||
|
||||
let mut prev2 = empty_border.as_str();
|
||||
let mut prev1 = input.lines().next().unwrap();
|
||||
|
|
@ -45,7 +45,7 @@ pub fn bytes(input: &str) -> u64 {
|
|||
}
|
||||
|
||||
let len = input.lines().next().unwrap().len();
|
||||
let empty_border = std::iter::repeat('.').take(len).collect::<String>();
|
||||
let empty_border = ".".repeat(len);
|
||||
|
||||
let mut prev2 = empty_border.as_str();
|
||||
let mut prev1 = input.lines().next().unwrap();
|
||||
|
|
@ -78,4 +78,4 @@ pub fn bytes(input: &str) -> u64 {
|
|||
}
|
||||
|
||||
acc
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ pub fn part2(input: &str) -> u64 {
|
|||
}
|
||||
|
||||
let len = input.lines().next().unwrap().len();
|
||||
let empty_border = std::iter::repeat('.').take(len).collect::<String>();
|
||||
let empty_border = ".".repeat(len);
|
||||
|
||||
let mut prev2 = empty_border.as_str();
|
||||
let mut prev1 = input.lines().next().unwrap();
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ pub fn part2(input: &str) -> u64 {
|
|||
}
|
||||
|
||||
let len = input.lines().next().unwrap().len();
|
||||
let empty_border = std::iter::repeat('.').take(len).collect::<String>();
|
||||
let empty_border = ".".repeat(len);
|
||||
|
||||
let mut prev2 = empty_border.as_str();
|
||||
let mut prev1 = input.lines().next().unwrap();
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ pub fn part2(input: &str) -> u64 {
|
|||
}
|
||||
|
||||
let len = input.lines().next().unwrap().len();
|
||||
let empty_border = std::iter::repeat('.').take(len).collect::<String>();
|
||||
let empty_border = ".".repeat(len);
|
||||
|
||||
let mut prev2 = empty_border.as_str();
|
||||
let mut prev1 = input.lines().next().unwrap();
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ pub fn part2(input: &str) -> u64 {
|
|||
}
|
||||
|
||||
let len = input.lines().next().unwrap().len();
|
||||
let empty_border = std::iter::repeat('.').take(len).collect::<String>();
|
||||
let empty_border = ".".repeat(len);
|
||||
|
||||
let mut prev2 = empty_border.as_str();
|
||||
let mut prev1 = input.lines().next().unwrap();
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ pub fn part2(input: &str) -> u64 {
|
|||
}
|
||||
|
||||
let len = input.lines().next().unwrap().len();
|
||||
let empty_border = std::iter::repeat('.').take(len).collect::<String>();
|
||||
let empty_border = ".".repeat(len);
|
||||
|
||||
let mut prev2 = empty_border.as_str();
|
||||
let mut prev1 = input.lines().next().unwrap();
|
||||
|
|
|
|||
|
|
@ -78,7 +78,7 @@ fn execute<D: Day>(variant: &Variant, input: &str) -> ! {
|
|||
use std::io::Write;
|
||||
let input = D::pad_input(input);
|
||||
let result = (variant.f)(&input);
|
||||
let err = write!(std::io::stdout(), "{result}\n");
|
||||
let err = writeln!(std::io::stdout(), "{result}");
|
||||
if let Err(err) = err {
|
||||
if err.kind() != std::io::ErrorKind::BrokenPipe {
|
||||
eprintln!("error: {err}");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue