IN PROG: Implementing puzzle input and build.rs

master
Joey Pollack 2 weeks ago
parent 312bd6e1c0
commit 0dc3586ff7

@ -14,5 +14,7 @@ fn main()
let name = env!("CARGO_PKG_NAME");
println!("{} build.rs started...", name);
println!("{} build.rs finished", name);
}

@ -7,22 +7,26 @@
* @brief pre-advent testing
******************************************************************************/
use solver::solver::Solver;
use solver::solver::{Solver, SolverState};
pub struct Day0;
pub struct Day0
{
solver_state: SolverState,
num_fib_values: i32,
}
impl Solver for Day0
{
fn init(&mut self, _config: solver::solver::SolverState) -> Result<(), String>
{
self.solver_state = _config.clone();
self.num_fib_values = self.solver_state.get_value("num_fib_values").parse().expect("Could not parse num_fib_values");
return Ok(())
// todo!("Day0::init()")
}
fn solve(&mut self, _input: String) -> Result<u64, String>
{
let fibs = gen_fib_seq(50, std::i64::MAX / 2);
let fibs = gen_fib_seq(self.num_fib_values, std::i64::MAX); // no max_val basically
println!("fib nums:");
print_fibs(fibs);
Ok(0)
@ -38,7 +42,7 @@ impl Day0
{
pub fn new() -> Day0
{
Day0 {}
Day0 { solver_state: SolverState::new(), num_fib_values: 5 }
}
}

@ -58,13 +58,13 @@ impl SolverState
self.options & (opt as u64) != 0
}
pub fn set_value(self: &mut SolverState, val: String, key: String)
pub fn set_value(self: &mut SolverState, val: &str, key: &str)
{
self.values.insert(key, val);
self.values.insert(key.to_string(), val.to_string());
}
pub fn get_value(self: &SolverState, key: String) -> String
pub fn get_value(self: &SolverState, key: &str) -> String
{
self.values[&key].clone()
self.values[&key.to_string()].clone()
}
}

@ -10,7 +10,8 @@ fn main()
// TODO: Grab command line args
// TODO: Parse args into a SolverState
let state = SolverState::new();
let mut state = SolverState::new();
state.set_value("50", "num_fib_values");
let _ = SolverOption::Debug;
let mut test_day = Day0::new();

Loading…
Cancel
Save