Struct splr::processor::Eliminator[][src]

pub struct Eliminator {
    pub enable: bool,
    pub to_simplify: f64,
    pub eliminate_var_occurrence_limit: usize,
    pub eliminate_combination_limit: usize,
    pub eliminate_grow_limit: usize,
    pub eliminate_occurrence_limit: usize,
    // some fields omitted
}

Literal eliminator

Fields

enable: boolto_simplify: f64eliminate_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]

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]

delete satisfied clauses at decision level zero.

Trait Implementations

impl Clone for Eliminator[src]

impl Debug for Eliminator[src]

impl Default for Eliminator[src]

impl EliminateIF for Eliminator[src]

impl Index<&'_ Lit> for Eliminator[src]

type Output = LitOccurs

The returned type after indexing.

impl Index<&'_ usize> for Eliminator[src]

type Output = LitOccurs

The returned type after indexing.

impl Index<Lit> for Eliminator[src]

type Output = LitOccurs

The returned type after indexing.

impl Index<Range<usize>> for Eliminator[src]

type Output = [LitOccurs]

The returned type after indexing.

impl Index<RangeFrom<usize>> for Eliminator[src]

type Output = [LitOccurs]

The returned type after indexing.

impl Index<usize> for Eliminator[src]

type Output = LitOccurs

The returned type after indexing.

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]

impl PropertyDereference<Tusize, usize> for Eliminator[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.