#ifndef _flags_h_INCLUDED #define _flags_h_INCLUDED #include 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