7#define PROPAGATE_LITERAL probing_propagate_literal
8#define PROPAGATION_TYPE "probing"
9#define PROBING_PROPAGATION
13static void update_probing_propagation_statistics (
kissat *
solver,
14 unsigned propagated) {
15 const uint64_t ticks =
solver->ticks;
19 ADD (propagations, propagated);
20 ADD (probing_propagations, propagated);
23 if (
solver->backbone_computing) {
24 ADD (backbone_propagations, propagated);
25 ADD (backbone_ticks, ticks);
28 ADD (vivify_propagations, propagated);
29 ADD (vivify_ticks, ticks);
33 ADD (probing_ticks, ticks);
46 unsigned *propagate =
solver->propagate;
49 const unsigned lit = *propagate++;
50 conflict = probing_propagate_literal (
solver, ignore,
lit);
53 const unsigned propagated = propagate -
solver->propagate;
54 solver->propagate = propagate;
55 update_probing_propagation_statistics (
solver, propagated);
56 kissat_update_conflicts_and_trail (
solver, conflict, flush);
#define ABC_NAMESPACE_IMPL_START
#define ABC_NAMESPACE_IMPL_END
#define KISSAT_assert(ignore)
clause * kissat_probing_propagate(kissat *solver, clause *ignore, bool flush)