pub mod heuristic;
pub mod size4x4;
pub mod small;
pub mod solver;
pub mod statistics;
use crate::{
algorithm::metric::{Mtm, Stm},
solver::{
size4x4::{mtm::solver::Solver as Solver44M, stm::solver::Solver as Solver44S},
small::solver::Solver as SmallSolver,
},
};
pub type Solver2x2Stm = SmallSolver<2, 2, 4, Stm>;
pub type Solver2x2Mtm = SmallSolver<2, 2, 4, Mtm>;
pub type Solver3x2Stm = SmallSolver<3, 2, 6, Stm>;
pub type Solver3x2Mtm = SmallSolver<3, 2, 6, Mtm>;
pub type Solver3x3Stm = SmallSolver<3, 3, 9, Stm>;
pub type Solver3x3Mtm = SmallSolver<3, 3, 9, Mtm>;
pub type Solver4x2Stm = SmallSolver<4, 2, 8, Stm>;
pub type Solver4x2Mtm = SmallSolver<4, 2, 8, Mtm>;
pub type Solver4x3Stm = SmallSolver<4, 3, 12, Stm>;
pub type Solver4x3Mtm = SmallSolver<4, 3, 12, Mtm>;
pub type Solver4x4Stm = Solver44S;
pub type Solver4x4Mtm = Solver44M;
pub type Solver5x2Stm = SmallSolver<5, 2, 10, Stm>;
pub type Solver5x2Mtm = SmallSolver<5, 2, 10, Mtm>;
pub type Solver6x2Stm = SmallSolver<6, 2, 12, Stm>;
pub type Solver6x2Mtm = SmallSolver<6, 2, 12, Mtm>;