[][src]Struct splr::state::State

pub struct State {
    pub config: Config,
    pub stats: [usize; 4],
    pub target: CNFDescription,
    pub reflection_interval: usize,
    pub to_vivify: f64,
    pub vivify_thr: usize,
    pub b_lvl: Ema,
    pub c_lvl: Ema,
    pub conflicts: Vec<Lit>,
    pub last_asg: usize,
    pub new_learnt: Vec<Lit>,
    pub derive20: Vec<ClauseId>,
    pub progress_cnt: usize,
    pub record: ProgressRecord,
    pub start: Instant,
    pub time_limit: f64,
    // some fields omitted
}

Data storage for Solver.

Fields

config: Config

solver configuration

stats: [usize; 4]

collection of statistics data

target: CNFDescription

problem description

reflection_interval: usize

strategy adjustment interval in conflict

to_vivify: f64

time to execute vivification

vivify_thr: usize

loop limit of vivification loop

b_lvl: Ema

EMA of backjump levels

c_lvl: Ema

EMA of conflicting levels

conflicts: Vec<Lit>

hold conflicting literals for UNSAT problems

last_asg: usize

hold the previous number of non-conflicting assignment

new_learnt: Vec<Lit>

working place to build learnt clauses

derive20: Vec<ClauseId>

working place to store given clauses' ids which is used to derive a good learnt

progress_cnt: usize

progress invocation counter

record: ProgressRecord

keep the previous statistics values

start: Instant

start clock for timeout handling

time_limit: f64

upper limit for timeout handling

Trait Implementations

impl Debug for State[src]

impl Default for State[src]

impl Display for State[src]

impl Index<LogF64Id> for State[src]

type Output = f64

The returned type after indexing.

impl Index<LogUsizeId> for State[src]

type Output = usize

The returned type after indexing.

impl Index<Stat> for State[src]

type Output = usize

The returned type after indexing.

impl IndexMut<LogF64Id> for State[src]

impl IndexMut<LogUsizeId> for State[src]

impl IndexMut<Stat> for State[src]

impl Instantiate for State[src]

impl StateIF for State[src]

pub fn progress<'r, A, C, E, R>(
    &mut self,
    asg: &A,
    cdb: &C,
    elim: &E,
    rst: &'r R
) where
    A: AssignIF + VarSelectIF + Export<(usize, usize, usize, f64), ()>,
    C: Export<(usize, usize, usize, usize, usize, usize), bool>,
    E: Export<(usize, usize, f64), ()>,
    R: RestartIF + ExportBox<'r, RestarterEMAs<'r>>, 
[src]

mes should be shorter than or equal to 9, or 8 + a delimiter.

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> ToString for T where
    T: Display + ?Sized
[src]

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.