17 if (!
solver->best_assigned)
20 "resetting best assigned trail height %u to 0",
25static void kissat_reset_target_assigned (
kissat *
solver) {
26 if (!
solver->target_assigned)
29 solver,
"resetting target assigned trail height %u to 0",
31 solver->target_assigned = 0;
44 const value *
const end_of_best = best +
VARS;
50 for (s = saved, b = best; b != end_of_best; s++, b++)
65 INC (rephased_original);
74 *s++ = inverted_initial_phase;
75 INC (rephased_inverted);
84 INC (rephased_walking);
88static char (*rephase_schedule[]) (
kissat *) = {
89 rephase_best, rephase_walking, rephase_inverted,
90 rephase_best, rephase_walking, rephase_original,
93#define size_rephase_schedule \
94 (sizeof rephase_schedule / sizeof *rephase_schedule)
98static const char *rephase_type_as_string (
char type) {
112 const uint64_t count =
GET (rephased);
115 const char type = rephase_schedule[select](
solver);
117 solver,
"rephase",
GET (rephased),
"%s phases in %s search mode",
118 rephase_type_as_string (
type),
solver->stable ?
"stable" :
"focused");
119 LOG (
"copying saved phases as target phases");
122 kissat_reset_target_assigned (
solver);
124 kissat_reset_best_assigned (
solver);
#define ABC_NAMESPACE_IMPL_START
#define ABC_NAMESPACE_IMPL_END
void kissat_backtrack_propagate_and_flush_trail(kissat *solver)
ABC_NAMESPACE_IMPL_START typedef signed char value
type
CUBE COVER and CUBE typedefs ///.
#define UPDATE_CONFLICT_LIMIT(NAME, COUNT, SCALE_COUNT_FUNCTION, SCALE_DELTA)
#define KISSAT_assert(ignore)
#define kissat_extremely_verbose(...)
#define kissat_phase(...)
void kissat_rephase(kissat *solver)
bool kissat_rephasing(kissat *solver)
#define size_rephase_schedule
void kissat_walk(kissat *solver)
bool kissat_walking(kissat *solver)