280 static inline double drand(
double& seed) {
282 int q = (
int)(seed / 2147483647);
283 seed -= (
double)
q * 2147483647;
284 return seed / 2147483647; }
287 static inline int irand(
double& seed,
int size) {
288 return (
int)(
drand(seed) * size); }
306 for (
int i = 0; i <
nVars(); i++)
lbool search(int nof_conflicts, double &time)
bool addClause(const vec< Lit > &ps)
void varBumpActivity(Var v, double inc)
double learntsize_adjust_inc
void insertVarOrder(Var x)
void toDimacs(std::ostream &out, Clause &c, vec< Var > &map, Var &max)
double learntsize_adjust_confl
void setConfBudget(int64_t x)
bool satisfied(const Clause &c) const
bool withinBudget() const
void analyze(CRef confl, vec< Lit > &out_learnt, int &out_btlevel)
void attachClause(CRef cr)
void setDecisionVar(Var v, bool b)
void toDimacs(const char *file, const vec< Lit > &assumps)
int decisionLevel() const
vec< Lit > analyze_toclear
void relocAll(ClauseAllocator &to)
void toDimacs(std::ostream &out, const vec< Lit > &assumps)
Var newVar(bool polarity=true, bool dvar=true)
lbool modelValue(Var x) const
static VarData mkVarData(CRef cr, int l)
static double drand(double &seed)
double progressEstimate() const
int learntsize_adjust_cnt
bool enqueue(Lit p, CRef from=CRef_Undef)
int64_t propagation_budget
int learntsize_adjust_start_confl
bool locked(const Clause &c) const
static int irand(double &seed, int size)
OccLists< Lit, vec< Watcher >, WatcherDeleted > watches
Heap< VarOrderLt > order_heap
void setPropBudget(int64_t x)
void claBumpActivity(Clause &c)
void removeSatisfied(vec< CRef > &cs)
uint64_t learnts_literals
void cancelUntil(int level)
virtual void garbageCollect()
void removeClause(CRef cr)
void setPolarity(Var v, bool b)
uint64_t clauses_literals
uint32_t abstractLevel(Var x) const
lbool solveLimited(const vec< Lit > &assumps)
void detachClause(CRef cr, bool strict=false)
void analyzeFinal(Lit p, vec< Lit > &out_conflict)
void uncheckedEnqueue(Lit p, CRef from=CRef_Undef)
lbool search(int nof_conflicts)
bool litRedundant(Lit p, uint32_t abstract_levels)
bool addClause_(vec< Lit > &ps)
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()
RegionAllocator< uint32_t >::Ref CRef
unsigned long long int restarts
unsigned long long int decisions
unsigned long long int conflicts
unsigned long long int propagations
unsigned long long int conflict_literals
bool operator()(Var x, Var y) const
const vec< double > & activity
VarOrderLt(const vec< double > &act)
WatcherDeleted(const ClauseAllocator &_ca)
bool operator()(const Watcher &w) const
const ClauseAllocator & ca
bool operator==(const Watcher &w) const
bool operator!=(const Watcher &w) const