[−][src]Struct splr::solver::Solver
SAT solver consisting of 5 sub modules.
Fields
asgs: AssignStack
cdb: ClauseDB
elim: Eliminator
state: State
vdb: VarDB
Trait Implementations
impl SatSolverIF for Solver
[src]
fn new(config: &Config, cnf: &CNFDescription) -> Solver
[src]
fn solve(&mut self) -> SolverResult
[src]
Examples
use splr::traits::SatSolverIF; use splr::config::Config; use splr::solver::{Solver, Certificate}; let config = Config::from("tests/sample.cnf"); if let Ok(mut s) = Solver::build(&config) { let res = s.solve(); assert!(res.is_ok()); assert_ne!(res.unwrap(), Certificate::UNSAT); }
fn build(config: &Config) -> Result<Solver>
[src]
Examples
use splr::traits::SatSolverIF; use splr::config::Config; use splr::solver::Solver; let config = Config::from("tests/sample.cnf"); assert!(Solver::build(&config).is_ok());
fn add_unchecked_clause(&mut self, v: &mut Vec<Lit>) -> Option<ClauseId>
[src]
impl ValidatorIF for Solver
[src]
fn inject_assigmnent(&mut self, vec: &[i32]) -> MaybeInconsistent
[src]
fn validate(&self) -> Option<Vec<i32>>
[src]
returns None if the given assignment is a model of a problem. Otherwise returns a clause which is not satisfiable under a given assignment.
impl Debug for Solver
[src]
Auto Trait Implementations
impl Send for Solver
impl Unpin for Solver
impl Sync for Solver
impl UnwindSafe for Solver
impl RefUnwindSafe for Solver
Blanket Implementations
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for T
[src]
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.
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>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,