#ifndef _rephase_h_INCLUDED
#define _rephase_h_INCLUDED

#include <stdbool.h>
#include <stdint.h>

typedef struct rephased rephased;

struct rephased
{
  char type;
  uint64_t count;
  uint64_t last;
};

struct kissat;

bool kissat_rephasing (struct kissat *);
void kissat_rephase (struct kissat *);
char kissat_rephase_best (struct kissat *);

void kissat_reset_rephased (struct kissat *);
void kissat_reset_target_assigned (struct kissat *);
void kissat_reset_consistently_assigned (struct kissat *);

#endif