30 return stats.conflicts >
lim.rephase;
38 stats.rephased.original++;
39 signed char val =
opts.phase ? 1 : -1;
40 PHASE (
"rephase",
stats.rephased.total,
"switching to original phase %d",
50 stats.rephased.inverted++;
51 signed char val =
opts.phase ? -1 : 1;
53 "switching to inverted original phase %d",
val);
62 stats.rephased.flipped++;
64 "flipping all phases individually");
73 stats.rephased.random++;
74 PHASE (
"rephase",
stats.rephased.total,
"resetting all phases randomly");
86 stats.rephased.best++;
88 "overwriting saved phases by best phases");
99 stats.rephased.walk++;
101 "starting local search to improve current phase");
110 stats.rephased.total++;
112 "reached rephase limit %" PRId64
" after %" PRId64
" conflicts",
129 if (
opts.stabilize &&
opts.stabilizeonly)
132 single = !
opts.stabilize;
134 if (single && !
opts.walk) {
165 }
else if (single &&
opts.walk) {
170 switch (count % 12) {
218 switch ((count - 2) % 4) {
242 switch ((count - 2) % 6) {
270 switch ((count - 1) % 4) {
293 switch ((count - 1) % 6) {
319 int64_t delta =
opts.rephaseint * (
stats.rephased.total + 1);
320 lim.rephase =
stats.conflicts + delta;
323 "new rephase limit %" PRId64
" after %" PRId64
" conflicts",
331 last.rephase.conflicts =
stats.conflicts;
#define ABC_NAMESPACE_IMPL_START
#define ABC_NAMESPACE_IMPL_END
#define CADICAL_assert(ignore)
type
CUBE COVER and CUBE typedefs ///.
void report(char type, int verbose_level=0)
void clear_phases(vector< signed char > &)
signed char val(int lit) const
void backtrack(int target_level=0)