ABC: A System for Sequential Synthesis and Verification
 
Loading...
Searching...
No Matches
queue.c
Go to the documentation of this file.
1#include "inline.h"
2#include "inlinequeue.h"
3#include "print.h"
4
6
14
16 LOG ("reset last search cache of queue");
17 queue *queue = &solver->queue;
18 links *links = solver->links;
19 const unsigned last = queue->last;
21 kissat_update_queue (solver, links, last);
22}
23
25 kissat_very_verbose (solver, "need to reassign enqueue stamps on queue");
26
27 queue *queue = &solver->queue;
28 links *links = solver->links;
29 queue->stamp = 0;
30
31 struct links *l;
32 for (unsigned idx = queue->first; !DISCONNECTED (idx); idx = l->next)
33 (l = links + idx)->stamp = ++queue->stamp;
34
37}
38
39#if defined(CHECK_QUEUE) && !defined(KISSAT_NDEBUG)
41 links *links = solver->links;
42 queue *queue = &solver->queue;
43 bool passed_search_idx = false;
44 const bool focused = !solver->stable;
45 for (unsigned idx = queue->first, prev = DISCONNECT; !DISCONNECTED (idx);
46 idx = links[idx].next) {
47 if (!DISCONNECTED (prev))
49 if (focused && passed_search_idx)
50 KISSAT_assert (VALUE (LIT (idx)));
51 if (idx == queue->search.idx)
52 passed_search_idx = true;
53 }
56}
57#endif
58
#define ABC_NAMESPACE_IMPL_START
#define ABC_NAMESPACE_IMPL_END
#define LOG(...)
#define KISSAT_assert(ignore)
Definition global.h:13
#define solver
Definition kitten.c:211
#define kissat_very_verbose(...)
Definition print.h:52
void kissat_reset_search_of_queue(kissat *solver)
Definition queue.c:15
void kissat_reassign_queue_stamps(kissat *solver)
Definition queue.c:24
ABC_NAMESPACE_IMPL_START void kissat_init_queue(kissat *solver)
Definition queue.c:7
#define DISCONNECT
Definition queue.h:7
#define kissat_check_queue(...)
Definition queue.h:36
#define DISCONNECTED(IDX)
Definition queue.h:8
#define LIT(IDX)
Definition literal.h:31
Definition queue.h:20
unsigned last
Definition queue.h:21
unsigned idx
Definition queue.h:23
unsigned first
Definition queue.h:21
unsigned stamp
Definition queue.h:21
struct queue::@155145366230376277010262212306311251364106156233 search
#define VALUE(LIT)
Definition value.h:10