2022-08-30 15:42:35 +08:00

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