Add DAY constant to each file for input reading
This commit is contained in:
parent
329be3f1c1
commit
e9a3ead7c2
|
@ -7,13 +7,9 @@ echo '#![feature(test)]
|
||||||
extern crate test;
|
extern crate test;
|
||||||
use aoc2021::common::*;
|
use aoc2021::common::*;
|
||||||
|
|
||||||
|
const DAY: usize = '$today'
|
||||||
type Parsed = Vec<usize>;
|
type Parsed = Vec<usize>;
|
||||||
|
|
||||||
fn read_input() -> String {
|
|
||||||
read_file('$today')
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
fn parse_input(raw: &str) -> Parsed {
|
fn parse_input(raw: &str) -> Parsed {
|
||||||
unimplemented!()
|
unimplemented!()
|
||||||
}
|
}
|
||||||
|
@ -27,7 +23,7 @@ fn part2(parsed: &Parsed) -> usize {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let input = parse_input(&read_input());
|
let input = parse_input(&read_file(DAY));
|
||||||
println!("Part 1: {}", part1(&input));
|
println!("Part 1: {}", part1(&input));
|
||||||
println!("Part 2: {}", part2(&input));
|
println!("Part 2: {}", part2(&input));
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,12 +3,9 @@
|
||||||
extern crate test;
|
extern crate test;
|
||||||
use aoc2021::common::{parse_nums, *};
|
use aoc2021::common::{parse_nums, *};
|
||||||
|
|
||||||
|
const DAY: usize = 1;
|
||||||
type Parsed = Vec<usize>;
|
type Parsed = Vec<usize>;
|
||||||
|
|
||||||
fn read_input() -> String {
|
|
||||||
read_file(1)
|
|
||||||
}
|
|
||||||
|
|
||||||
fn parse_input(raw: &str) -> Parsed {
|
fn parse_input(raw: &str) -> Parsed {
|
||||||
parse_nums(raw)
|
parse_nums(raw)
|
||||||
}
|
}
|
||||||
|
@ -22,7 +19,7 @@ fn part2(parsed: &Parsed) -> usize {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let input = parse_input(&read_input());
|
let input = parse_input(&read_file(DAY));
|
||||||
println!("Part 1: {}", part1(&input));
|
println!("Part 1: {}", part1(&input));
|
||||||
println!("Part 2: {}", part2(&input));
|
println!("Part 2: {}", part2(&input));
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,6 +2,9 @@
|
||||||
extern crate test;
|
extern crate test;
|
||||||
use aoc2021::common::*;
|
use aoc2021::common::*;
|
||||||
|
|
||||||
|
const DAY: usize = 2;
|
||||||
|
type Parsed = Vec<Movement>;
|
||||||
|
|
||||||
#[derive(Debug, Clone, Copy)]
|
#[derive(Debug, Clone, Copy)]
|
||||||
enum Movement {
|
enum Movement {
|
||||||
Up(i64),
|
Up(i64),
|
||||||
|
@ -9,12 +12,6 @@ enum Movement {
|
||||||
Forward(i64),
|
Forward(i64),
|
||||||
}
|
}
|
||||||
|
|
||||||
type Parsed = Vec<Movement>;
|
|
||||||
|
|
||||||
fn read_input() -> String {
|
|
||||||
read_file(2)
|
|
||||||
}
|
|
||||||
|
|
||||||
fn parse_input(raw: &str) -> Parsed {
|
fn parse_input(raw: &str) -> Parsed {
|
||||||
raw.lines()
|
raw.lines()
|
||||||
.filter_map(|l| l.split_once(' '))
|
.filter_map(|l| l.split_once(' '))
|
||||||
|
@ -46,7 +43,7 @@ fn part2(parsed: &Parsed) -> i64 {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let input = parse_input(&read_input());
|
let input = parse_input(&read_file(DAY));
|
||||||
println!("Part 1: {}", part1(&input));
|
println!("Part 1: {}", part1(&input));
|
||||||
println!("Part 2: {}", part2(&input));
|
println!("Part 2: {}", part2(&input));
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,7 @@ macro_rules! bench {
|
||||||
paste::paste! {
|
paste::paste! {
|
||||||
#[bench]
|
#[bench]
|
||||||
fn [<$part _bench>](b: &mut test::Bencher) {
|
fn [<$part _bench>](b: &mut test::Bencher) {
|
||||||
let raw = &read_input();
|
let raw = &read_file(DAY);
|
||||||
let input = parse_input(&raw);
|
let input = parse_input(&raw);
|
||||||
b.iter(|| assert_eq!($part(test::black_box(&input)$(, $param)*), $expected));
|
b.iter(|| assert_eq!($part(test::black_box(&input)$(, $param)*), $expected));
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,7 @@ macro_rules! bench_input {
|
||||||
($fn:ident == $expected_len:expr) => {
|
($fn:ident == $expected_len:expr) => {
|
||||||
#[bench]
|
#[bench]
|
||||||
fn bench_input_parsing(b: &mut test::Bencher) {
|
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));
|
b.iter(|| assert_eq!(parse_input(test::black_box(&raw)).$fn(), $expected_len));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue
Block a user