8 const unsigned idx =
IDX (
lit);
13 LOG (
"activating %s", LOGVAR (idx));
18 INC (variables_activated);
19 kissat_enqueue (
solver, idx);
20 const double score = 1.0 - 1.0 /
solver->statistics_.variables_activated;
21 kissat_update_heap (
solver, &
solver->scores, idx, score);
23 const unsigned lit =
LIT (idx);
29 kissat_mark_removed_literal (
solver,
lit);
41 LOG (
"deactivating %s", LOGVAR (idx));
47 kissat_dequeue (
solver, idx);
48 if (kissat_heap_contains (
SCORES, idx))
58 for (
unsigned i = 0; i < size; i++)
59 activate_literal (
solver, lits[i]);
64 const unsigned idx =
IDX (
lit);
65 LOG (
"marking internal %s as fixed", LOGVAR (idx));
71 deactivate_variable (
solver, f, idx);
73 int elit = kissat_export_literal (
solver,
lit);
76 LOG (
"pushed external unit literal %d (internal %u)", elit,
lit);
80 const unsigned lit =
LIT (idx);
82 LOG (
"marking internal %s as eliminated", LOGVAR (idx));
88 deactivate_variable (
solver, f, idx);
89 int elit = kissat_export_literal (
solver,
lit);
92 unsigned eidx =
ABS (elit);
93 import *import = &PEEK_STACK (solver->import, eidx);
100 import->eliminated =
true;
102 LOG (
"marked external variable %u as eliminated", eidx);
109 for (
unsigned i = 0; i < size; i++)
110 kissat_mark_removed_literal (
solver, lits[i]);
115 for (
unsigned i = 0; i < size; i++)
116 kissat_mark_added_literal (
solver, lits[i]);
#define ABC_NAMESPACE_IMPL_START
#define ABC_NAMESPACE_IMPL_END
ABC_NAMESPACE_IMPL_START typedef signed char value
void kissat_activate_literal(kissat *solver, unsigned lit)
void kissat_mark_removed_literals(kissat *solver, unsigned size, unsigned *lits)
void kissat_activate_literals(kissat *solver, unsigned size, unsigned *lits)
void kissat_mark_fixed_literal(kissat *solver, unsigned lit)
void kissat_mark_added_literals(kissat *solver, unsigned size, unsigned *lits)
void kissat_mark_eliminated_variable(kissat *solver, unsigned idx)
#define KISSAT_assert(ignore)