[−][src]Struct batsat::core::Solver
The main solver structure.
Each instance is a full-fledged SAT solver, and
it can be parametrized further with a theory::TheoryArg
and
with basic callbacks::Callbacks
.
A Solver
object contains the whole state of the SAT solver, including
a clause allocator, literals, clauses, and statistics.
Implementations
impl<Cb: Callbacks> Solver<Cb>
[src]
pub fn new(opts: SolverOpts, cb: Cb) -> Self
[src]
Create a new solver with the given options and the callbacks cb
.
impl<Cb: Callbacks> Solver<Cb>
[src]
pub fn new_with(opts: SolverOpts, cb: Cb) -> Self
[src]
Create a new solver with the given options and callbacks.
pub fn cb_mut(&mut self) -> &mut Cb
[src]
Temporary access to the callbacks
pub fn cb(&self) -> &Cb
[src]
Temporary access to the callbacks
pub fn dimacs_model(&self) -> SolverPrintDimacs<'_, Cb>
[src]
pub fn interrupt_async(&self)
[src]
Interrupt search asynchronously
Trait Implementations
impl<Cb: Callbacks + Default> Default for Solver<Cb>
[src]
impl<Cb: Callbacks> SolverInterface for Solver<Cb>
[src]
pub fn new_var(&mut self, upol: lbool, dvar: bool) -> Var
[src]
pub fn new_var_default(&mut self) -> Var
[src]
pub fn var_of_int(&mut self, v_idx: u32) -> Var
[src]
pub fn add_clause_reuse(&mut self, clause: &mut Vec<Lit>) -> bool
[src]
pub fn solve_limited_th<Th: Theory>(
&mut self,
th: &mut Th,
assumps: &[Lit]
) -> lbool
[src]
&mut self,
th: &mut Th,
assumps: &[Lit]
) -> lbool
pub fn simplify_th<Th: Theory>(&mut self, th: &mut Th) -> bool
[src]
pub fn value_var(&self, v: Var) -> lbool
[src]
pub fn value_lit(&self, v: Lit) -> lbool
[src]
pub fn get_model(&self) -> &[lbool]ⓘ
[src]
pub fn is_ok(&self) -> bool
[src]
pub fn num_vars(&self) -> u32
[src]
pub fn num_clauses(&self) -> u64
[src]
pub fn num_conflicts(&self) -> u64
[src]
pub fn num_propagations(&self) -> u64
[src]
pub fn num_decisions(&self) -> u64
[src]
pub fn num_restarts(&self) -> u64
[src]
pub fn value_lvl_0(&self, lit: Lit) -> lbool
[src]
pub fn print_stats(&self)
[src]
pub fn unsat_core(&self) -> &[Lit]ⓘ
[src]
pub fn unsat_core_contains_lit(&self, lit: Lit) -> bool
[src]
pub fn unsat_core_contains_var(&self, v: Var) -> bool
[src]
pub fn proved_at_lvl_0(&self) -> &[Lit]ⓘ
[src]
pub fn simplify(&mut self) -> bool
[src]
pub fn solve_limited(&mut self, assumps: &[Lit]) -> lbool
[src]
Auto Trait Implementations
impl<Cb> RefUnwindSafe for Solver<Cb> where
Cb: RefUnwindSafe,
[src]
Cb: RefUnwindSafe,
impl<Cb> Send for Solver<Cb> where
Cb: Send,
[src]
Cb: Send,
impl<Cb> Sync for Solver<Cb> where
Cb: Sync,
[src]
Cb: Sync,
impl<Cb> Unpin for Solver<Cb> where
Cb: Unpin,
[src]
Cb: Unpin,
impl<Cb> UnwindSafe for Solver<Cb> where
Cb: UnwindSafe,
[src]
Cb: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,