37 lines
899 B
C
37 lines
899 B
C
|
#ifndef _flags_h_INCLUDED
|
||
|
#define _flags_h_INCLUDED
|
||
|
|
||
|
#include <stdbool.h>
|
||
|
|
||
|
typedef struct flags flags;
|
||
|
|
||
|
struct flags
|
||
|
{
|
||
|
bool active:1;
|
||
|
bool eliminate:1;
|
||
|
bool eliminated:1;
|
||
|
bool fixed:1;
|
||
|
bool probe:1;
|
||
|
bool subsume:1;
|
||
|
};
|
||
|
|
||
|
#define FLAGS(IDX) \
|
||
|
(assert ((IDX) < VARS), (solver->flags + (IDX)))
|
||
|
|
||
|
#define ACTIVE(IDX) (FLAGS(IDX)->active)
|
||
|
#define ELIMINATED(IDX) (FLAGS(IDX)->eliminated)
|
||
|
|
||
|
struct kissat;
|
||
|
|
||
|
void kissat_activate_literal (struct kissat *, unsigned);
|
||
|
void kissat_activate_literals (struct kissat *, unsigned, unsigned *);
|
||
|
|
||
|
void kissat_mark_eliminated_variable (struct kissat *, unsigned idx);
|
||
|
void kissat_mark_fixed_literal (struct kissat *, unsigned lit);
|
||
|
void kissat_mark_autarkic_literal (struct kissat *, unsigned lit);
|
||
|
|
||
|
void kissat_mark_added_literals (struct kissat *, unsigned, unsigned *);
|
||
|
void kissat_mark_removed_literals (struct kissat *, unsigned, unsigned *);
|
||
|
|
||
|
#endif
|