#[derive(Clone, Copy, Debug)]
pub enum BranchingHeuristic {
Vsids {
var_inc: f64,
var_decay: f64,
},
Lrb,
}
#[derive(Clone, Copy, Debug)]
pub struct ClauseDbOptions {
pub cla_inc: f64,
pub cla_decay: f64,
}
pub struct SolverOptions {
pub clause_db_options: ClauseDbOptions,
pub branching_heuristic: BranchingHeuristic,
pub capture_drat: bool,
}
impl Default for SolverOptions {
fn default() -> Self {
SolverOptions {
clause_db_options: ClauseDbOptions {
cla_inc: 1.0,
cla_decay: 0.999,
},
branching_heuristic: BranchingHeuristic::Lrb,
capture_drat: false,
}
}
}