30 lines
636 B
C
30 lines
636 B
C
#ifndef _phases_h_INCLUDED
|
|
#define _phases_h_INCLUDED
|
|
|
|
typedef struct phase phase;
|
|
|
|
struct phase
|
|
{
|
|
signed char best:2;
|
|
signed char saved:2;
|
|
signed char target:2;
|
|
};
|
|
|
|
#define PHASE(IDX) \
|
|
(assert ((IDX) < VARS), (solver->phases + (IDX)))
|
|
|
|
#define BEST(IDX) (PHASE(IDX)->best)
|
|
#define SAVED(IDX) (PHASE(IDX)->saved)
|
|
#define TARGET(IDX) (PHASE(IDX)->target)
|
|
|
|
struct kissat;
|
|
|
|
void kissat_save_best_phases (struct kissat *);
|
|
void kissat_save_target_phases (struct kissat *);
|
|
void kissat_clear_target_phases (struct kissat *);
|
|
|
|
#define all_phases(P) \
|
|
phase * P = solver->phases, * END_ ## P = P + VARS; P != END_ ## P; P++
|
|
|
|
#endif
|