#include "restart.h"
#include "backtrack.h"
#include "bump.h"
#include "decide.h"
#include "internal.h"
#include "kimits.h"
#include "logging.h"
#include "print.h"
#include "reluctant.h"
#include "report.h"
#include <inttypes.h>
Go to the source code of this file.
◆ kissat_restart()
| void kissat_restart |
( |
kissat * | solver | ) |
|
Definition at line 114 of file restart.c.
114 {
119 INC (stable_restarts);
120 else
121 INC (focused_restarts);
122 unsigned level = reuse_trail (
solver);
124 "restarting after %" PRIu64 " conflicts"
125 " (limit %" PRIu64 ")",
127 LOG (
"restarting to level %u", level);
133}
void kissat_backtrack_in_consistent_state(kissat *solver, unsigned new_level)
#define kissat_extremely_verbose(...)
void kissat_update_focused_restart_limit(kissat *solver)
◆ kissat_restarting()
Definition at line 16 of file restart.c.
16 {
19 return false;
21 return false;
23 return false;
25 return kissat_reluctant_triggered (&
solver->reluctant);
26 const double fast =
AVERAGE (fast_glue);
27 const double slow =
AVERAGE (slow_glue);
28 const double margin = (100.0 +
GET_OPTION (restartmargin)) / 100.0;
29 const double limit = margin * slow;
31 "restart glue limit %g = "
32 "%.02f * %g (slow glue) %c %g (fast glue)",
33 limit, margin, slow,
34 (limit > fast ? '>'
35 : limit == fast ? '='
36 : '<'),
37 fast);
38 return (limit <= fast);
39}
#define KISSAT_assert(ignore)
struct limits::@317277023072347355124305102271146250361353123031 restart
◆ kissat_update_focused_restart_limit()
| void kissat_update_focused_restart_limit |
( |
kissat * | solver | ) |
|
Definition at line 41 of file restart.c.
41 {
44 uint64_t restarts =
solver->statistics_.restarts;
46 if (restarts)
50 "focused restart limit at %" PRIu64
51 " after %" PRIu64 " conflicts ",
53}
ABC_NAMESPACE_IMPL_START double kissat_logn(uint64_t count)