Struct splr::processor::Eliminator [−][src]
Literal eliminator
Fields
enable: bool
to_simplify: f64
eliminate_var_occurrence_limit: usize
Maximum number of clauses to try to eliminate a var
eliminate_combination_limit: usize
0 for no limit Stop elimination if a generated resolvent is larger than this 0 means no limit.
eliminate_grow_limit: usize
Stop elimination if the increase of clauses is over this
eliminate_occurrence_limit: usize
A criteria by the product’s of its positive occurrences and negative ones
Implementations
impl Eliminator
[src]
pub fn try_subsume<A, C>(
&mut self,
asg: &mut A,
cdb: &mut C,
cid: ClauseId,
did: ClauseId
) -> MaybeInconsistent where
A: AssignIF,
C: ClauseDBIF,
[src]
&mut self,
asg: &mut A,
cdb: &mut C,
cid: ClauseId,
did: ClauseId
) -> MaybeInconsistent where
A: AssignIF,
C: ClauseDBIF,
impl Eliminator
[src]
pub fn eliminate_satisfied_clauses<A, C>(
&mut self,
asg: &mut A,
cdb: &mut C,
update_occur: bool
) where
A: AssignIF,
C: ClauseDBIF,
[src]
&mut self,
asg: &mut A,
cdb: &mut C,
update_occur: bool
) where
A: AssignIF,
C: ClauseDBIF,
delete satisfied clauses at decision level zero.
Trait Implementations
impl Clone for Eliminator
[src]
fn clone(&self) -> Eliminator
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Debug for Eliminator
[src]
impl Default for Eliminator
[src]
fn default() -> Eliminator
[src]
impl EliminateIF for Eliminator
[src]
fn activate(&mut self)
[src]
fn is_running(&self) -> bool
[src]
fn stop<A, C>(&mut self, asg: &mut A, cdb: &mut C) where
A: AssignIF,
C: ClauseDBIF,
[src]
A: AssignIF,
C: ClauseDBIF,
fn prepare<A, C>(&mut self, asg: &mut A, cdb: &mut C, force: bool) where
A: AssignIF,
C: ClauseDBIF,
[src]
A: AssignIF,
C: ClauseDBIF,
fn enqueue_var<A>(&mut self, asg: &mut A, vi: VarId, upward: bool) where
A: AssignIF,
[src]
A: AssignIF,
fn simplify<A, C, R>(
&mut self,
asg: &mut A,
cdb: &mut C,
rst: &mut R,
state: &mut State
) -> MaybeInconsistent where
A: AssignIF,
C: ClauseDBIF,
R: RestartIF,
[src]
&mut self,
asg: &mut A,
cdb: &mut C,
rst: &mut R,
state: &mut State
) -> MaybeInconsistent where
A: AssignIF,
C: ClauseDBIF,
R: RestartIF,
fn add_cid_occur<A>(
&mut self,
asg: &mut A,
cid: ClauseId,
c: &mut Clause,
enqueue: bool
) where
A: AssignIF,
[src]
&mut self,
asg: &mut A,
cid: ClauseId,
c: &mut Clause,
enqueue: bool
) where
A: AssignIF,
fn remove_cid_occur<A>(&mut self, asg: &mut A, cid: ClauseId, c: &mut Clause) where
A: AssignIF,
[src]
A: AssignIF,
fn sorted_iterator(&self) -> Iter<'_, usize>
[src]
fn stats(&self, vi: VarId) -> Option<(usize, usize)>
[src]
fn eliminated_lits(&self) -> &[Lit]
[src]
impl Index<&'_ Lit> for Eliminator
[src]
type Output = LitOccurs
The returned type after indexing.
fn index(&self, l: &Lit) -> &Self::Output
[src]
impl Index<&'_ usize> for Eliminator
[src]
type Output = LitOccurs
The returned type after indexing.
fn index(&self, i: &VarId) -> &Self::Output
[src]
impl Index<Lit> for Eliminator
[src]
type Output = LitOccurs
The returned type after indexing.
fn index(&self, l: Lit) -> &Self::Output
[src]
impl Index<Range<usize>> for Eliminator
[src]
type Output = [LitOccurs]
The returned type after indexing.
fn index(&self, r: Range<usize>) -> &Self::Output
[src]
impl Index<RangeFrom<usize>> for Eliminator
[src]
type Output = [LitOccurs]
The returned type after indexing.
fn index(&self, r: RangeFrom<usize>) -> &Self::Output
[src]
impl Index<usize> for Eliminator
[src]
type Output = LitOccurs
The returned type after indexing.
fn index(&self, i: VarId) -> &Self::Output
[src]
impl IndexMut<&'_ Lit> for Eliminator
[src]
impl IndexMut<&'_ usize> for Eliminator
[src]
impl IndexMut<Lit> for Eliminator
[src]
impl IndexMut<Range<usize>> for Eliminator
[src]
impl IndexMut<RangeFrom<usize>> for Eliminator
[src]
impl IndexMut<usize> for Eliminator
[src]
impl Instantiate for Eliminator
[src]
fn instantiate(config: &Config, cnf: &CNFDescription) -> Eliminator
[src]
fn handle(&mut self, e: SolverEvent)
[src]
impl PropertyDereference<Tusize, usize> for Eliminator
[src]
Auto Trait Implementations
impl RefUnwindSafe for Eliminator
impl Send for Eliminator
impl Sync for Eliminator
impl Unpin for Eliminator
impl UnwindSafe for Eliminator
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> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut 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.
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>,