ABC: A System for Sequential Synthesis and Verification
 
Loading...
Searching...
No Matches
collect.h
Go to the documentation of this file.
1#ifndef _collect_h_INCLUDED
2#define _collect_h_INCLUDED
3
4#include "internal.h"
5
6#include "global.h"
8
11void kissat_sparse_collect (kissat *, bool compact, reference start);
13
14static inline void kissat_defrag_watches (kissat *solver) {
16}
17
18static inline void kissat_defrag_watches_if_needed (kissat *solver) {
19 const size_t size = SIZE_STACK (solver->vectors.stack);
20 const size_t size_limit = GET_OPTION (defragsize);
21 if (size <= size_limit)
22 return;
23
24 const size_t usable = solver->vectors.usable;
25 const size_t usable_limit = (size * GET_OPTION (defraglim)) / 100;
26 if (usable <= usable_limit)
27 return;
28
29 INC (vectors_defrags_needed);
30 kissat_defrag_watches (solver);
31}
32
33void kissat_update_last_irredundant (kissat *, clause *last_irredundant);
34void kissat_update_first_reducible (kissat *, clause *first_reducible);
35
37
38#endif
#define ABC_NAMESPACE_HEADER_END
#define ABC_NAMESPACE_HEADER_START
NAMESPACES ///.
#define SIZE_STACK(S)
Definition stack.h:19
#define INC(NAME)
ABC_NAMESPACE_HEADER_START bool kissat_compacting(kissat *)
Definition collect.c:635
void kissat_sparse_collect(kissat *, bool compact, reference start)
Definition collect.c:610
void kissat_dense_collect(kissat *)
Definition collect.c:730
void kissat_initial_sparse_collect(kissat *)
Definition collect.c:647
void kissat_update_last_irredundant(kissat *, clause *last_irredundant)
Definition collect.c:200
void kissat_update_first_reducible(kissat *, clause *first_reducible)
Definition collect.c:185
#define LITS
Definition internal.h:251
#define solver
Definition kitten.c:211
unsigned long long size
Definition giaNewBdd.h:39
#define GET_OPTION(N)
Definition options.h:295
ABC_NAMESPACE_HEADER_START typedef unsigned reference
Definition reference.h:9
void kissat_defrag_vectors(kissat *solver, size_t size_unsorted, vector *unsorted)
Definition vector.c:161