#include "arena.h"
#include "literal.h"
#include "reference.h"
#include "utilities.h"
#include <stdbool.h>
#include "global.h"
Go to the source code of this file.
|
| typedef typedefABC_NAMESPACE_HEADER_START struct clause | clause |
| |
|
| void | kissat_new_binary_clause (struct kissat *, unsigned, unsigned) |
| |
| void | kissat_new_unwatched_binary_clause (struct kissat *, unsigned, unsigned) |
| |
| reference | kissat_new_original_clause (struct kissat *) |
| |
| reference | kissat_new_irredundant_clause (struct kissat *) |
| |
| reference | kissat_new_redundant_clause (struct kissat *, unsigned glue) |
| |
| void | kissat_sort_literals (struct kissat *, unsigned size, unsigned *lits) |
| |
| void | kissat_connect_clause (struct kissat *, clause *) |
| |
| void | kissat_connect_referenced (struct kissat *solver, reference) |
| |
| clause * | kissat_delete_clause (struct kissat *, clause *) |
| |
| void | kissat_delete_binary (struct kissat *, unsigned, unsigned) |
| |
| void | kissat_mark_clause_as_garbage (struct kissat *, clause *) |
| |
◆ all_literals_in_clause
| #define all_literals_in_clause |
( |
| LIT, |
|
|
| C ) |
Value:
Definition at line 47 of file clause.h.
47#define all_literals_in_clause(LIT, C) \
48 unsigned LIT, \
49 *LIT##_PTR = BEGIN_LITS (C), *const LIT##_END = END_LITS (C); \
50 LIT##_PTR != LIT##_END && ((LIT = *LIT##_PTR), true); \
51 ++LIT##_PTR
◆ BEGIN_LITS
◆ END_LITS
◆ LD_MAX_GLUE
◆ LD_MAX_USED
◆ MAX_GLUE
◆ MAX_USED
◆ SIZE_OF_CLAUSE_HEADER
| #define SIZE_OF_CLAUSE_HEADER ((size_t) & ((clause *) 0)->searched) |
◆ clause
| typedef typedefABC_NAMESPACE_HEADER_START struct clause clause |
◆ kissat_connect_clause()
| void kissat_connect_clause |
( |
struct kissat * | solver, |
|
|
clause * | c ) |
Definition at line 60 of file clause.c.
60 {
63 kissat_inlined_connect_clause (
solver, all_watches, c, ref);
64}
ABC_NAMESPACE_HEADER_START typedef unsigned reference
◆ kissat_connect_referenced()
Definition at line 54 of file clause.c.
54 {
57 kissat_inlined_connect_clause (
solver, all_watches, c, ref);
58}
◆ kissat_delete_binary()
| void kissat_delete_binary |
( |
struct kissat * | solver, |
|
|
unsigned | a, |
|
|
unsigned | b ) |
Definition at line 181 of file clause.c.
181 {
183 kissat_mark_removed_literal (
solver, a);
184 kissat_mark_removed_literal (
solver, b);
187 dec_clause (
solver,
false,
true);
188 INC (clauses_deleted);
189}
#define REMOVE_CHECKER_BINARY(...)
#define DELETE_BINARY_FROM_PROOF(...)
◆ kissat_delete_clause()
Definition at line 171 of file clause.c.
171 {
175 size_t bytes = kissat_actual_bytes_of_clause (c);
176 SUB (arena_garbage, bytes);
177 INC (clauses_deleted);
178 return (
clause *) ((
char *) c + bytes);
179}
#define KISSAT_assert(ignore)
◆ kissat_mark_clause_as_garbage()
| void kissat_mark_clause_as_garbage |
( |
struct kissat * | solver, |
|
|
clause * | c ) |
Definition at line 164 of file clause.c.
164 {
166 mark_clause_as_garbage (
solver, c);
167 size_t bytes = kissat_actual_bytes_of_clause (c);
168 ADD (arena_garbage, bytes);
169}
◆ kissat_new_binary_clause()
| void kissat_new_binary_clause |
( |
struct kissat * | solver, |
|
|
unsigned | first, |
|
|
unsigned | second ) |
Definition at line 122 of file clause.c.
123 {
124 (void) new_binary_clause (
solver,
false,
true, first, second);
125}
◆ kissat_new_irredundant_clause()
Definition at line 140 of file clause.c.
140 {
143 return new_clause (
solver,
false,
false, 0, size, lits);
144}
◆ kissat_new_original_clause()
Definition at line 132 of file clause.c.
132 {
137 return res;
138}
void kissat_sort_literals(struct kissat *, unsigned size, unsigned *lits)
◆ kissat_new_redundant_clause()
| reference kissat_new_redundant_clause |
( |
struct kissat * | solver, |
|
|
unsigned | glue ) |
Definition at line 146 of file clause.c.
146 {
149 return new_clause (
solver,
false,
true, glue, size, lits);
150}
◆ kissat_new_unwatched_binary_clause()
| void kissat_new_unwatched_binary_clause |
( |
struct kissat * | solver, |
|
|
unsigned | first, |
|
|
unsigned | second ) |
Definition at line 127 of file clause.c.
128 {
129 (void) new_binary_clause (
solver,
false,
false, first, second);
130}
◆ kissat_sort_literals()
| void kissat_sort_literals |
( |
struct kissat * | solver, |
|
|
unsigned | size, |
|
|
unsigned * | lits ) |
Definition at line 85 of file sort.c.
90 {
91#ifndef INLINE_SORT
94#endif
96 0, size, lits);
97 if (size > 2)
98 move_smallest_literal_to_front (
solver, values,
assigned, (u >= 0), 1,
99 size, lits);
100}
ABC_NAMESPACE_IMPL_START typedef signed char value