36 lines
702 B
C
36 lines
702 B
C
#ifndef _clueue_h_INCLUDED
|
|
#define _clueue_h_INCLUDED
|
|
|
|
#include "reference.h"
|
|
|
|
#include <assert.h>
|
|
|
|
typedef struct clueue clueue;
|
|
|
|
struct clueue
|
|
{
|
|
unsigned size, next;
|
|
reference *elements;
|
|
};
|
|
|
|
struct kissat;
|
|
|
|
void kissat_clear_clueue (struct kissat *, clueue *);
|
|
void kissat_init_clueue (struct kissat *, clueue *, unsigned size);
|
|
void kissat_release_clueue (struct kissat *, clueue *);
|
|
|
|
static inline void
|
|
kissat_push_clueue (clueue * clueue, reference element)
|
|
{
|
|
if (!clueue->size)
|
|
return;
|
|
assert (clueue->next < clueue->size);
|
|
clueue->elements[clueue->next++] = element;
|
|
if (clueue->next == clueue->size)
|
|
clueue->next = 0;
|
|
}
|
|
|
|
void kissat_eager_subsume (struct kissat *);
|
|
|
|
#endif
|