13 LOG (
"initialized watcher tables");
24 LOG (
"reset watcher tables");
34 LOG (
"watching all %sclauses", irredundant_only ?
"irredundant " :
"");
39 if (irredundant_only && c->redundant)
41 if (c->garbage || c->size > 2)
49 if (irredundant_only && c->redundant)
51 if (c->garbage || c->size == 2)
55 const int lit0 = c->literals[0];
56 const int lit1 = c->literals[1];
57 const signed char tmp0 =
val (lit0);
58 const signed char tmp1 =
val (lit1);
64 const size_t pos0 =
var (lit0).
trail;
67 LOG (
"literal %d resets propagated to %zd", lit0, pos0);
71 const size_t pos1 =
var (lit1).
trail;
74 LOG (
"literal %d resets propagated to %zd", lit1, pos1);
90 LOG (
"watching binary clauses");
95 if (c->garbage || c->size > 2)
105 LOG (
"sorting watches");
116 for (i = j; i != end; i++) {
124 std::copy (saved.cbegin (), saved.cend (), j);
#define ABC_NAMESPACE_IMPL_START
#define ABC_NAMESPACE_IMPL_END
#define CADICAL_assert(ignore)
Watches::const_iterator const_watch_iterator
void erase_vector(std::vector< T > &v)
Watches::iterator watch_iterator
void watch_clause(Clause *c)
signed char val(int lit) const
void connect_binary_watches()
vector< Clause * > clauses
void connect_watches(bool irredundant_only=false)