ABC: A System for Sequential Synthesis and Verification
 
Loading...
Searching...
No Matches
flags.c File Reference
#include "inline.h"
#include "inlineheap.h"
#include "inlinequeue.h"
Include dependency graph for flags.c:

Go to the source code of this file.

Functions

void kissat_activate_literal (kissat *solver, unsigned lit)
 
void kissat_activate_literals (kissat *solver, unsigned size, unsigned *lits)
 
void kissat_mark_fixed_literal (kissat *solver, unsigned lit)
 
void kissat_mark_eliminated_variable (kissat *solver, unsigned idx)
 
void kissat_mark_removed_literals (kissat *solver, unsigned size, unsigned *lits)
 
void kissat_mark_added_literals (kissat *solver, unsigned size, unsigned *lits)
 

Function Documentation

◆ kissat_activate_literal()

void kissat_activate_literal ( kissat * solver,
unsigned lit )

Definition at line 52 of file flags.c.

52 {
53 activate_literal (solver, lit);
54}
#define solver
Definition kitten.c:211
int lit
Definition satVec.h:130
Here is the caller graph for this function:

◆ kissat_activate_literals()

void kissat_activate_literals ( kissat * solver,
unsigned size,
unsigned * lits )

Definition at line 56 of file flags.c.

57 {
58 for (unsigned i = 0; i < size; i++)
59 activate_literal (solver, lits[i]);
60}
unsigned long long size
Definition giaNewBdd.h:39
Here is the caller graph for this function:

◆ kissat_mark_added_literals()

void kissat_mark_added_literals ( kissat * solver,
unsigned size,
unsigned * lits )

Definition at line 113 of file flags.c.

114 {
115 for (unsigned i = 0; i < size; i++)
116 kissat_mark_added_literal (solver, lits[i]);
117}

◆ kissat_mark_eliminated_variable()

void kissat_mark_eliminated_variable ( kissat * solver,
unsigned idx )

Definition at line 79 of file flags.c.

79 {
80 const unsigned lit = LIT (idx);
82 LOG ("marking internal %s as eliminated", LOGVAR (idx));
83 flags *f = FLAGS (idx);
86 KISSAT_assert (!f->fixed);
87 f->eliminated = true;
88 deactivate_variable (solver, f, idx);
89 int elit = kissat_export_literal (solver, lit);
90 KISSAT_assert (elit);
91 KISSAT_assert (elit != INT_MIN);
92 unsigned eidx = ABS (elit);
93 import *import = &PEEK_STACK (solver->import, eidx);
97 size_t pos = SIZE_STACK (solver->eliminated);
98 KISSAT_assert (pos < (1u << 30));
99 import->lit = pos;
100 import->eliminated = true;
101 PUSH_STACK (solver->eliminated, (value) 0);
102 LOG ("marked external variable %u as eliminated", eidx);
103 KISSAT_assert (solver->unassigned > 0);
104 solver->unassigned--;
105}
#define SIZE_STACK(S)
Definition stack.h:19
#define PUSH_STACK(S, E)
Definition stack.h:39
#define LOG(...)
ABC_NAMESPACE_IMPL_START typedef signed char value
#define FLAGS
bool pos
Definition globals.c:30
#define KISSAT_assert(ignore)
Definition global.h:13
#define LIT(IDX)
Definition literal.h:31
#define STRIP(LIT)
Definition literal.h:37
Definition flags.h:11
bool active
Definition flags.h:12
bool fixed
Definition flags.h:18
bool eliminated
Definition flags.h:16
bool eliminated
Definition internal.h:52
bool imported
Definition internal.h:51
unsigned lit
Definition internal.h:49
#define ABS(a)
Definition util_old.h:250
#define VALUE(LIT)
Definition value.h:10

◆ kissat_mark_fixed_literal()

void kissat_mark_fixed_literal ( kissat * solver,
unsigned lit )

Definition at line 62 of file flags.c.

62 {
63 KISSAT_assert (VALUE (lit) > 0);
64 const unsigned idx = IDX (lit);
65 LOG ("marking internal %s as fixed", LOGVAR (idx));
66 flags *f = FLAGS (idx);
69 KISSAT_assert (!f->fixed);
70 f->fixed = true;
71 deactivate_variable (solver, f, idx);
72 INC (units);
73 int elit = kissat_export_literal (solver, lit);
74 KISSAT_assert (elit);
75 PUSH_STACK (solver->units, elit);
76 LOG ("pushed external unit literal %d (internal %u)", elit, lit);
77}
#define INC(NAME)
#define IDX(LIT)
Definition literal.h:28

◆ kissat_mark_removed_literals()

void kissat_mark_removed_literals ( kissat * solver,
unsigned size,
unsigned * lits )

Definition at line 107 of file flags.c.

108 {
109 for (unsigned i = 0; i < size; i++)
110 kissat_mark_removed_literal (solver, lits[i]);
111}