yosys-master
|
#include <Solver.h>
Data Structures | |
struct | ShrinkStackElem |
struct | VarData |
struct | VarOrderLt |
struct | Watcher |
struct | WatcherDeleted |
Public Member Functions | |
Solver () | |
virtual | ~Solver () |
Var | newVar (lbool upol=l_Undef, bool dvar=true) |
void | releaseVar (Lit l) |
bool | addClause (const vec< Lit > &ps) |
bool | addEmptyClause () |
bool | addClause (Lit p) |
bool | addClause (Lit p, Lit q) |
bool | addClause (Lit p, Lit q, Lit r) |
bool | addClause (Lit p, Lit q, Lit r, Lit s) |
bool | addClause_ (vec< Lit > &ps) |
bool | simplify () |
bool | solve (const vec< Lit > &assumps) |
lbool | solveLimited (const vec< Lit > &assumps) |
bool | solve () |
bool | solve (Lit p) |
bool | solve (Lit p, Lit q) |
bool | solve (Lit p, Lit q, Lit r) |
bool | okay () const |
bool | implies (const vec< Lit > &assumps, vec< Lit > &out) |
ClauseIterator | clausesBegin () const |
ClauseIterator | clausesEnd () const |
TrailIterator | trailBegin () const |
TrailIterator | trailEnd () const |
void | toDimacs (FILE *f, const vec< Lit > &assumps) |
void | toDimacs (const char *file, const vec< Lit > &assumps) |
void | toDimacs (FILE *f, Clause &c, vec< Var > &map, Var &max) |
void | toDimacs (const char *file) |
void | toDimacs (const char *file, Lit p) |
void | toDimacs (const char *file, Lit p, Lit q) |
void | toDimacs (const char *file, Lit p, Lit q, Lit r) |
void | setPolarity (Var v, lbool b) |
void | setDecisionVar (Var v, bool b) |
lbool | value (Var x) const |
lbool | value (Lit p) const |
lbool | modelValue (Var x) const |
lbool | modelValue (Lit p) const |
int | nAssigns () const |
int | nClauses () const |
int | nLearnts () const |
int | nVars () const |
int | nFreeVars () const |
void | printStats () const |
void | setConfBudget (int64_t x) |
void | setPropBudget (int64_t x) |
void | budgetOff () |
void | interrupt () |
void | clearInterrupt () |
virtual void | garbageCollect () |
void | checkGarbage (double gf) |
void | checkGarbage () |
Data Fields | |
vec< lbool > | model |
LSet | conflict |
int | verbosity |
double | var_decay |
double | clause_decay |
double | random_var_freq |
double | random_seed |
bool | luby_restart |
int | ccmin_mode |
int | phase_saving |
bool | rnd_pol |
bool | rnd_init_act |
double | garbage_frac |
int | min_learnts_lim |
int | restart_first |
double | restart_inc |
double | learntsize_factor |
double | learntsize_inc |
int | learntsize_adjust_start_confl |
double | learntsize_adjust_inc |
uint64_t | solves |
uint64_t | starts |
uint64_t | decisions |
uint64_t | rnd_decisions |
uint64_t | propagations |
uint64_t | conflicts |
uint64_t | dec_vars |
uint64_t | num_clauses |
uint64_t | num_learnts |
uint64_t | clauses_literals |
uint64_t | learnts_literals |
uint64_t | max_literals |
uint64_t | tot_literals |
Protected Member Functions | |
void | insertVarOrder (Var x) |
Lit | pickBranchLit () |
void | newDecisionLevel () |
void | uncheckedEnqueue (Lit p, CRef from=CRef_Undef) |
bool | enqueue (Lit p, CRef from=CRef_Undef) |
CRef | propagate () |
void | cancelUntil (int level) |
void | analyze (CRef confl, vec< Lit > &out_learnt, int &out_btlevel) |
void | analyzeFinal (Lit p, LSet &out_conflict) |
bool | litRedundant (Lit p) |
lbool | search (int nof_conflicts) |
lbool | solve_ () |
void | reduceDB () |
void | removeSatisfied (vec< CRef > &cs) |
void | rebuildOrderHeap () |
void | varDecayActivity () |
void | varBumpActivity (Var v, double inc) |
void | varBumpActivity (Var v) |
void | claDecayActivity () |
void | claBumpActivity (Clause &c) |
void | attachClause (CRef cr) |
void | detachClause (CRef cr, bool strict=false) |
void | removeClause (CRef cr) |
bool | isRemoved (CRef cr) const |
bool | locked (const Clause &c) const |
bool | satisfied (const Clause &c) const |
int | decisionLevel () const |
uint32_t | abstractLevel (Var x) const |
CRef | reason (Var x) const |
int | level (Var x) const |
double | progressEstimate () const |
bool | withinBudget () const |
void | relocAll (ClauseAllocator &to) |
Static Protected Member Functions | |
static VarData | mkVarData (CRef cr, int l) |
static double | drand (double &seed) |
static int | irand (double &seed, int size) |
Protected Attributes | |
vec< CRef > | clauses |
vec< CRef > | learnts |
vec< Lit > | trail |
vec< int > | trail_lim |
vec< Lit > | assumptions |
VMap< double > | activity |
VMap< lbool > | assigns |
VMap< char > | polarity |
VMap< lbool > | user_pol |
VMap< char > | decision |
VMap< VarData > | vardata |
OccLists< Lit, vec< Watcher > , WatcherDeleted, MkIndexLit > | watches |
Heap< Var, VarOrderLt > | order_heap |
bool | ok |
double | cla_inc |
double | var_inc |
int | qhead |
int | simpDB_assigns |
int64_t | simpDB_props |
double | progress_estimate |
bool | remove_satisfied |
Var | next_var |
ClauseAllocator | ca |
vec< Var > | released_vars |
vec< Var > | free_vars |
VMap< char > | seen |
vec< ShrinkStackElem > | analyze_stack |
vec< Lit > | analyze_toclear |
vec< Lit > | add_tmp |
double | max_learnts |
double | learntsize_adjust_confl |
int | learntsize_adjust_cnt |
int64_t | conflict_budget |
int64_t | propagation_budget |
bool | asynch_interrupt |
Solver::Solver | ( | ) |
Definition at line 56 of file Solver.cc.
|
inlineprotected |
|
inline |
Definition at line 156 of file Solver.cc.
|
inline |
Definition at line 298 of file Solver.cc.
Definition at line 458 of file Solver.cc.
|
protected |
Definition at line 186 of file Solver.cc.
|
inline |
|
protected |
|
inline |
|
inline |
|
inlineprotected |
|
inlineprotected |
|
inline |
|
inline |
|
inlineprotected |
|
protected |
Definition at line 196 of file Solver.cc.
|
inlinestaticprotected |
|
inlineprotected |
Definition at line 336 of file Solver.h.
|
virtual |
Reimplemented in Minisat::SimpSolver.
Definition at line 1057 of file Solver.cc.
Definition at line 889 of file Solver.cc.
|
inlineprotected |
|
inline |
|
inlinestaticprotected |
|
inlineprotected |
|
inlineprotected |
|
protected |
Definition at line 390 of file Solver.cc.
|
inlineprotected |
|
inline |
|
inline |
|
inlineprotected |
Definition at line 121 of file Solver.cc.
|
inline |
|
inline |
|
inline |
|
protected |
void Solver::printStats | ( | ) | const |
Definition at line 993 of file Solver.cc.
|
protected |
|
protected |
Definition at line 508 of file Solver.cc.
|
protected |
|
protected |
Definition at line 583 of file Solver.cc.
void Solver::releaseVar | ( | Lit | l | ) |
|
protected |
Definition at line 1010 of file Solver.cc.
|
protected |
Definition at line 214 of file Solver.cc.
Definition at line 603 of file Solver.cc.
|
protected |
|
protected |
Definition at line 704 of file Solver.cc.
|
inline |
bool Solver::simplify | ( | ) |
Definition at line 643 of file Solver.cc.
|
inline |
|
inline |
Definition at line 384 of file Solver.h.
Definition at line 385 of file Solver.h.
|
protected |
Definition at line 841 of file Solver.cc.
Definition at line 951 of file Solver.cc.
|
inline |
|
inline |
|
inline |
|
inline |
|
protected |
Definition at line 488 of file Solver.cc.
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
protected |
|
protected |
|
protected |
|
protected |