21#ifndef Glucose_SimpSolver_h
22#define Glucose_SimpSolver_h
62 bool solve (
const vec<Lit>& assumps,
bool do_simp =
true,
bool turn_off_simp =
false);
64 int solveLimited(
int * lit0,
int nlits,
bool do_simp =
false,
bool turn_off_simp =
false);
65 bool solve (
bool do_simp =
true,
bool turn_off_simp =
false);
66 bool solve (
Lit p ,
bool do_simp =
true,
bool turn_off_simp =
false);
67 bool solve (
Lit p,
Lit q,
bool do_simp =
true,
bool turn_off_simp =
false);
68 bool solve (
Lit p,
Lit q,
Lit r,
bool do_simp =
true,
bool turn_off_simp =
false);
69 bool eliminate (
bool turn_off_elim =
false);
73 frozen .prelocate( base_var_num );
77 n_occ .prelocate( base_var_num << 1 );
78 occurs .prelocate( base_var_num );
79 touched .prelocate( base_var_num );
166 lbool solve_ (
bool do_simp =
true,
bool turn_off_simp =
false);
217 for(
int i = 0; i < nlits; i ++)
#define ABC_NAMESPACE_CXX_HEADER_START
#define ABC_NAMESPACE_CXX_HEADER_END
ABC_NAMESPACE_IMPL_START typedef signed char value
void updateElimHeap(Var v)
bool addClause(const vec< Lit > &ps)
bool substitute(Var v, Lit x)
void removeClause(CRef cr)
bool implied(const vec< Lit > &c)
bool eliminate(bool turn_off_elim=false)
bool strengthenClause(CRef cr, Lit l)
Var newVar(bool polarity=true, bool dvar=true)
bool asymm(Var v, CRef cr)
bool merge(const Clause &_ps, const Clause &_qs, Var v, vec< Lit > &out_clause)
bool addClause_(vec< Lit > &ps)
vec< uint32_t > elimclauses
virtual void garbageCollect()
lbool solveLimited(const vec< Lit > &assumps, bool do_simp=true, bool turn_off_simp=false)
Queue< CRef > subsumption_queue
bool backwardSubsumptionCheck(bool verbose=false)
void prelocate(int base_var_num)
void gatherTouchedClauses()
void relocAll(ClauseAllocator &to)
OccLists< Var, vec< CRef >, ClauseDeleted > occurs
void setFrozen(Var v, bool b)
bool isEliminated(Var v) const
void toDimacs(FILE *f, const vec< Lit > &assumps)
void prelocate(int var_num)
void copyTo(vec< T > ©) const
Lit mkLit(Var var, bool sign=false)
RegionAllocator< uint32_t >::Ref CRef
bool operator()(const CRef &cr) const
const ClauseAllocator & ca
ClauseDeleted(const ClauseAllocator &_ca)
ElimLt(const vec< int > &no)
bool operator()(Var x, Var y) const
uint64_t cost(Var x) const