pub struct Solver {
pub candidate_moves: Vec<Move>,
pub pruning_table: PruningTable,
}Expand description
A combination of a Pruning Table and the candidate moves to solve into a specific state.
This solver packs together the relevant information that can then be passed to a search function to generate cube solutions.
§Examples
Thistlethwaite Phase 4 (All Double Moves):
use cubesim::prelude::{Cube, Move, MoveVariant::*};
use cubesim::FaceletCube;
use cubesim::PruningTable;
use cubesim::Solver;
let moves = vec![
Move::U(Double), Move::D(Double), Move::F(Double),
Move::B(Double), Move::L(Double), Move::R(Double)
];
let solver = Solver::new(moves.clone(), PruningTable::new(&[FaceletCube::new(3)], 6, &moves));Fields§
§candidate_moves: Vec<Move>§pruning_table: PruningTableImplementations§
Auto Trait Implementations§
impl Freeze for Solver
impl RefUnwindSafe for Solver
impl Send for Solver
impl Sync for Solver
impl Unpin for Solver
impl UnwindSafe for Solver
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more