aoc-2024/src/lib.rs

89 lines
2.1 KiB
Rust

mod day_01;
mod day_02;
mod day_03;
mod day_04;
mod day_05;
// mod day_06;
mod day_07;
mod day_08;
mod day_09;
mod day_10;
mod day_11;
mod utils;
use std::time::Duration;
use crate::utils::read_from_file;
use crate::utils::diagnostics;
type DailyOutput = ( u128, u128, Duration );
pub fn day_01() -> DailyOutput {
let s : String = read_from_file("inputs/01.txt");
let ( p1, p2, d ) = diagnostics::benchmark(s, day_01::answer);
( p1 as u128, p2 as u128, d )
}
pub fn day_02() -> DailyOutput {
let s : String = read_from_file("inputs/02.txt");
let (p1, p2, d) = diagnostics::benchmark(s, day_02::answer);
( p1 as u128, p2 as u128, d )
}
pub fn day_03() -> DailyOutput {
let s : String = read_from_file("inputs/03.txt");
let (p1, p2, d) = diagnostics::benchmark(s, day_03::answer);
( p1 as u128, p2 as u128, d )
}
pub fn day_04() -> DailyOutput {
let s : String = read_from_file("inputs/04.txt");
let (p1, p2, d) = diagnostics::benchmark(s, day_04::answer);
( p1 as u128, p2 as u128, d )
}
pub fn day_05() -> DailyOutput {
let s : String = read_from_file("inputs/05.txt");
let (p1, p2, d) = diagnostics::benchmark(s, day_05::answer);
( p1 as u128, p2 as u128, d )
}
pub fn day_07() -> DailyOutput {
let s : String = read_from_file("inputs/07.txt");
let (p1, p2, d) = diagnostics::benchmark(s, day_07::answer);
( p1 as u128, p2 as u128, d )
}
pub fn day_08() -> DailyOutput {
let s : String = read_from_file("inputs/08.txt");
let (p1, p2, d) = diagnostics::benchmark(s, day_08::answer);
( p1 as u128, p2 as u128, d )
}
pub fn day_09() -> DailyOutput {
let s : String = read_from_file("inputs/09.txt");
let (p1, p2, d) = diagnostics::benchmark(s, day_09::answer);
( p1 as u128, p2 as u128, d )
}
pub fn day_10() -> DailyOutput {
let s : String = read_from_file("inputs/10.txt");
let (p1, p2, d) = diagnostics::benchmark(s, day_10::answer);
( p1 as u128, p2 as u128, d )
}
pub fn day_11() -> DailyOutput {
let s : String = read_from_file("inputs/11.txt");
let (p1, p2, d) = diagnostics::benchmark(s, day_11::answer);
( p1 as u128, p2 as u128, d )
}