Add DAY constant to each file for input reading

This commit is contained in:
kageru 2021-12-02 10:31:23 +01:00
parent 329be3f1c1
commit e9a3ead7c2
4 changed files with 10 additions and 20 deletions

View File

@ -7,13 +7,9 @@ echo '#![feature(test)]
extern crate test;
use aoc2021::common::*;
const DAY: usize = '$today'
type Parsed = Vec<usize>;
fn read_input() -> String {
read_file('$today')
}
fn parse_input(raw: &str) -> Parsed {
unimplemented!()
}
@ -27,7 +23,7 @@ fn part2(parsed: &Parsed) -> usize {
}
fn main() {
let input = parse_input(&read_input());
let input = parse_input(&read_file(DAY));
println!("Part 1: {}", part1(&input));
println!("Part 2: {}", part2(&input));
}

View File

@ -3,12 +3,9 @@
extern crate test;
use aoc2021::common::{parse_nums, *};
const DAY: usize = 1;
type Parsed = Vec<usize>;
fn read_input() -> String {
read_file(1)
}
fn parse_input(raw: &str) -> Parsed {
parse_nums(raw)
}
@ -22,7 +19,7 @@ fn part2(parsed: &Parsed) -> usize {
}
fn main() {
let input = parse_input(&read_input());
let input = parse_input(&read_file(DAY));
println!("Part 1: {}", part1(&input));
println!("Part 2: {}", part2(&input));
}

View File

@ -2,6 +2,9 @@
extern crate test;
use aoc2021::common::*;
const DAY: usize = 2;
type Parsed = Vec<Movement>;
#[derive(Debug, Clone, Copy)]
enum Movement {
Up(i64),
@ -9,12 +12,6 @@ enum Movement {
Forward(i64),
}
type Parsed = Vec<Movement>;
fn read_input() -> String {
read_file(2)
}
fn parse_input(raw: &str) -> Parsed {
raw.lines()
.filter_map(|l| l.split_once(' '))
@ -46,7 +43,7 @@ fn part2(parsed: &Parsed) -> i64 {
}
fn main() {
let input = parse_input(&read_input());
let input = parse_input(&read_file(DAY));
println!("Part 1: {}", part1(&input));
println!("Part 2: {}", part2(&input));
}

View File

@ -4,7 +4,7 @@ macro_rules! bench {
paste::paste! {
#[bench]
fn [<$part _bench>](b: &mut test::Bencher) {
let raw = &read_input();
let raw = &read_file(DAY);
let input = parse_input(&raw);
b.iter(|| assert_eq!($part(test::black_box(&input)$(, $param)*), $expected));
}
@ -17,7 +17,7 @@ macro_rules! bench_input {
($fn:ident == $expected_len:expr) => {
#[bench]
fn bench_input_parsing(b: &mut test::Bencher) {
let raw = read_input();
let raw = &read_file(DAY);
b.iter(|| assert_eq!(parse_input(test::black_box(&raw)).$fn(), $expected_len));
}
};