22#ifndef ABC__sat__bsat__satVec_h
23#define ABC__sat__bsat__satVec_h
38static inline void veci_new (
veci* v) {
45static inline int* veci_begin (
veci* v) {
return v->
ptr; }
46static inline int veci_size (
veci* v) {
return v->
size; }
47static inline void veci_resize (
veci* v,
int k) {
53static inline void veci_push (
veci* v,
int e)
57 int newsize = (v->
cap < 4) ? v->
cap * 2 : (v->
cap / 2) * 3;
61 printf(
"Failed to realloc memory from %.1f MB to %.1f MB.\n",
62 1.0 * v->
cap / (1<<20), 1.0 * newsize / (1<<20) );
68static inline void veci_remove(
veci* v,
int e)
70 int * ws = (
int*)veci_begin(v);
72 for (; ws[j] != e ; j++);
74 for (; j < veci_size(v)-1; j++) ws[j] = ws[j+1];
75 veci_resize(v,veci_size(v)-1);
87static inline void vecp_new (
vecp* v) {
94static inline void** vecp_begin (
vecp* v) {
return v->
ptr; }
95static inline int vecp_size (
vecp* v) {
return v->
size; }
97static inline void vecp_push (
vecp* v,
void* e)
101 int newsize = (v->
cap < 4) ? v->
cap * 2 : (v->
cap / 2) * 3;
106static inline void vecp_remove(
vecp* v,
void* e)
108 void** ws = vecp_begin(v);
110 for (; ws[j] != e ; j++);
112 for (; j < vecp_size(v)-1; j++) ws[j] = ws[j+1];
113 vecp_resize(v,vecp_size(v)-1);
138static const lit lit_Undef = -2;
144static inline lit toLit (
int v) {
return v + v; }
145static inline lit toLitCond(
int v,
int c) {
return v + v + (c != 0); }
146static inline lit lit_neg (
lit l) {
return l ^ 1; }
147static inline int lit_var (
lit l) {
return l >> 1; }
148static inline int lit_sign (
lit l) {
return l & 1; }
149static inline int lit_print(
lit l) {
return lit_sign(l)? -lit_var(l)-1 : lit_var(l)+1; }
150static inline lit lit_read (
int s) {
return s > 0 ? toLit(s-1) : lit_neg(toLit(-s-1)); }
151static inline int lit_check(
lit l,
int n) {
return l >= 0 && lit_var(l) < n; }
#define ABC_ALLOC(type, num)
#define ABC_REALLOC(type, obj, num)
#define ABC_NAMESPACE_HEADER_END
#define ABC_NAMESPACE_HEADER_START
NAMESPACES ///.
ABC_INT64_T learnts_literals
ABC_INT64_T clauses_literals