ABC: A System for Sequential Synthesis and Verification
 
Loading...
Searching...
No Matches
queue.h File Reference
#include "global.h"
Include dependency graph for queue.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  links
 
struct  queue
 

Macros

#define DISCONNECT   UINT_MAX
 
#define DISCONNECTED(IDX)
 
#define LINK(IDX)
 
#define kissat_check_queue(...)
 

Typedefs

typedef struct links links
 
typedef struct queue queue
 

Functions

void kissat_init_queue (struct kissat *)
 
void kissat_reset_search_of_queue (struct kissat *)
 
void kissat_reassign_queue_stamps (struct kissat *)
 

Macro Definition Documentation

◆ DISCONNECT

#define DISCONNECT   UINT_MAX

Definition at line 7 of file queue.h.

◆ DISCONNECTED

#define DISCONNECTED ( IDX)
Value:
((int) (IDX) < 0)
#define IDX(LIT)
Definition literal.h:28

Definition at line 8 of file queue.h.

◆ kissat_check_queue

#define kissat_check_queue ( ...)
Value:
do { \
} while (0)

Definition at line 36 of file queue.h.

36#define kissat_check_queue(...) \
37 do { \
38 } while (0)

◆ LINK

#define LINK ( IDX)
Value:
(solver->links[KISSAT_assert ((IDX) < VARS), (IDX)])
#define VARS
Definition internal.h:250
#define KISSAT_assert(ignore)
Definition global.h:13
#define solver
Definition kitten.c:211

Definition at line 31 of file queue.h.

Typedef Documentation

◆ links

typedef struct links links

Definition at line 12 of file queue.h.

◆ queue

typedef struct queue queue

Definition at line 13 of file queue.h.

Function Documentation

◆ kissat_init_queue()

void kissat_init_queue ( struct kissat * solver)

Definition at line 7 of file queue.c.

7 {
8 queue *queue = &solver->queue;
13}
#define DISCONNECT
Definition queue.h:7
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
Here is the caller graph for this function:

◆ kissat_reassign_queue_stamps()

void kissat_reassign_queue_stamps ( struct kissat * solver)

Definition at line 24 of file queue.c.

24 {
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}
#define kissat_very_verbose(...)
Definition print.h:52
#define DISCONNECTED(IDX)
Definition queue.h:8

◆ kissat_reset_search_of_queue()

void kissat_reset_search_of_queue ( struct kissat * solver)

Definition at line 15 of file queue.c.

15 {
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}
#define LOG(...)