1#ifndef _clause_h_INCLUDED
2#define _clause_h_INCLUDED
19#define MAX_GLUE ((1u << LD_MAX_GLUE) - 1)
20#define MAX_USED ((1u << LD_MAX_USED) - 1)
42#define SIZE_OF_CLAUSE_HEADER ((size_t) & ((clause *) 0)->searched)
44#define BEGIN_LITS(C) ((C)->lits)
45#define END_LITS(C) (BEGIN_LITS (C) + (C)->size)
47#define all_literals_in_clause(LIT, C) \
49 *LIT##_PTR = BEGIN_LITS (C), *const LIT##_END = END_LITS (C); \
50 LIT##_PTR != LIT##_END && ((LIT = *LIT##_PTR), true); \
53static inline size_t kissat_bytes_of_clause (
unsigned size) {
54 const size_t res =
sizeof (
clause) + (size - 3) *
sizeof (unsigned);
55 return kissat_align_ward (res);
58static inline size_t kissat_actual_bytes_of_clause (
clause *c) {
63 return kissat_align_ward ((
char *)
p - (
char *) c);
67 word bytes = kissat_actual_bytes_of_clause (c);
68 return (
clause *) ((
char *) c + bytes);
#define ABC_NAMESPACE_HEADER_END
#define ABC_NAMESPACE_HEADER_START
NAMESPACES ///.
reference kissat_new_irredundant_clause(struct kissat *)
void kissat_connect_clause(struct kissat *, clause *)
reference kissat_new_redundant_clause(struct kissat *, unsigned glue)
reference kissat_new_original_clause(struct kissat *)
void kissat_delete_binary(struct kissat *, unsigned, unsigned)
void kissat_sort_literals(struct kissat *, unsigned size, unsigned *lits)
clause * kissat_delete_clause(struct kissat *, clause *)
void kissat_connect_referenced(struct kissat *solver, reference)
void kissat_new_binary_clause(struct kissat *, unsigned, unsigned)
void kissat_new_unwatched_binary_clause(struct kissat *, unsigned, unsigned)
void kissat_mark_clause_as_garbage(struct kissat *, clause *)
unsigned __int64 word
DECLARATIONS ///.
ABC_NAMESPACE_HEADER_START typedef unsigned reference