pub struct State {Show 20 fields
pub config: Config,
pub cnf: CNFDescription,
pub stats: [usize; 7],
pub restart: RestartManager,
pub stm: StageManager,
pub target: CNFDescription,
pub reflection_interval: usize,
pub b_lvl: Ema,
pub c_lvl: Ema,
pub e_mode: Ema2,
pub e_mode_threshold: f64,
pub exploration_rate_ema: Ema,
pub last_asg: usize,
pub new_learnt: Vec<Lit>,
pub derive20: Vec<ClauseId>,
pub progress_cnt: usize,
pub record: ProgressRecord,
pub sls_index: usize,
pub start: Instant,
pub time_limit: f64,
/* private fields */
}
Expand description
Data storage for Solver
.
Fields§
§config: Config
solver configuration
cnf: CNFDescription
the problem.
stats: [usize; 7]
collection of statistics data
restart: RestartManager
§stm: StageManager
StageManager
target: CNFDescription
problem description
reflection_interval: usize
strategy adjustment interval in conflict
b_lvl: Ema
EMA of backjump levels
c_lvl: Ema
EMA of conflicting levels
e_mode: Ema2
EMA of c_lbd - b_lbd, or Exploration vs. Eploitation
e_mode_threshold: f64
§exploration_rate_ema: Ema
§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
sls_index: usize
progress of SLS
start: Instant
start clock for timeout handling
time_limit: f64
upper limit for timeout handling
Trait Implementations§
source§impl Index<LogUsizeId> for State
impl Index<LogUsizeId> for State
source§impl IndexMut<LogUsizeId> for State
impl IndexMut<LogUsizeId> for State
source§impl Instantiate for State
impl Instantiate for State
source§fn instantiate(config: &Config, cnf: &CNFDescription) -> State
fn instantiate(config: &Config, cnf: &CNFDescription) -> State
make and return an object from
Config
and CNFDescription
.source§fn handle(&mut self, e: SolverEvent)
fn handle(&mut self, e: SolverEvent)
update by a solver event.
source§impl StateIF for State
impl StateIF for State
source§fn progress<A, C>(&mut self, asg: &A, cdb: &C)where
A: PropertyDereference<Tusize, usize> + PropertyDereference<Tf64, f64> + PropertyReference<TEma, EmaView>,
C: PropertyDereference<Tusize, usize> + PropertyDereference<Tf64, f64> + PropertyReference<TEma, EmaView>,
fn progress<A, C>(&mut self, asg: &A, cdb: &C)where
A: PropertyDereference<Tusize, usize> + PropertyDereference<Tf64, f64> + PropertyReference<TEma, EmaView>,
C: PropertyDereference<Tusize, usize> + PropertyDereference<Tf64, f64> + PropertyReference<TEma, EmaView>,
mes
should be shorter than or equal to 9, or 8 + a delimiter.
source§fn is_timeout(&self) -> bool
fn is_timeout(&self) -> bool
return
true
if it is timed out.source§fn elapsed(&self) -> Option<f64>
fn elapsed(&self) -> Option<f64>
return elapsed time as a fraction.
return None if something is wrong.
source§fn progress_header(&mut self)
fn progress_header(&mut self)
write a header of stat data to stdio.
Auto Trait Implementations§
impl RefUnwindSafe for State
impl Send for State
impl Sync for State
impl Unpin for State
impl UnwindSafe for State
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more