ABC: A System for Sequential Synthesis and Verification
 
Loading...
Searching...
No Matches
msatQueue.c File Reference
#include "msatInt.h"
Include dependency graph for msatQueue.c:

Go to the source code of this file.

Classes

struct  Msat_Queue_t_
 DECLARATIONS ///. More...
 

Functions

Msat_Queue_tMsat_QueueAlloc (int nVars)
 FUNCTION DEFINITIONS ///.
 
void Msat_QueueFree (Msat_Queue_t *p)
 
int Msat_QueueReadSize (Msat_Queue_t *p)
 
void Msat_QueueInsert (Msat_Queue_t *p, int Lit)
 
int Msat_QueueExtract (Msat_Queue_t *p)
 
void Msat_QueueClear (Msat_Queue_t *p)
 

Function Documentation

◆ Msat_QueueAlloc()

Msat_Queue_t * Msat_QueueAlloc ( int nVars)

FUNCTION DEFINITIONS ///.

Function*************************************************************

Synopsis [Allocates the variable propagation queue.]

Description []

SideEffects []

SeeAlso []

Definition at line 53 of file msatQueue.c.

54{
56 p = ABC_ALLOC( Msat_Queue_t, 1 );
57 memset( p, 0, sizeof(Msat_Queue_t) );
58 p->nVars = nVars;
59 p->pVars = ABC_ALLOC( int, nVars );
60 return p;
61}
#define ABC_ALLOC(type, num)
Definition abc_global.h:264
Cube * p
Definition exorList.c:222
struct Msat_Queue_t_ Msat_Queue_t
Definition msatInt.h:58
char * memset()
Here is the call graph for this function:
Here is the caller graph for this function:

◆ Msat_QueueClear()

void Msat_QueueClear ( Msat_Queue_t * p)

Function*************************************************************

Synopsis [Resets the queue.]

Description []

SideEffects []

SeeAlso []

Definition at line 149 of file msatQueue.c.

150{
151 p->iFirst = 0;
152 p->iLast = 0;
153}
Here is the caller graph for this function:

◆ Msat_QueueExtract()

int Msat_QueueExtract ( Msat_Queue_t * p)

Function*************************************************************

Synopsis [Extracts an entry from the queue.]

Description []

SideEffects []

SeeAlso []

Definition at line 131 of file msatQueue.c.

132{
133 if ( p->iFirst == p->iLast )
134 return -1;
135 return p->pVars[p->iFirst++];
136}
Here is the caller graph for this function:

◆ Msat_QueueFree()

void Msat_QueueFree ( Msat_Queue_t * p)

Function*************************************************************

Synopsis [Deallocate the variable propagation queue.]

Description []

SideEffects []

SeeAlso []

Definition at line 74 of file msatQueue.c.

75{
76 ABC_FREE( p->pVars );
77 ABC_FREE( p );
78}
#define ABC_FREE(obj)
Definition abc_global.h:267
Here is the caller graph for this function:

◆ Msat_QueueInsert()

void Msat_QueueInsert ( Msat_Queue_t * p,
int Lit )

Function*************************************************************

Synopsis [Insert an entry into the queue.]

Description []

SideEffects []

SeeAlso []

Definition at line 107 of file msatQueue.c.

108{
109 if ( p->iLast == p->nVars )
110 {
111 int i;
112 assert( 0 );
113 for ( i = 0; i < p->iLast; i++ )
114 printf( "entry = %2d lit = %2d var = %2d \n", i, p->pVars[i], p->pVars[i]/2 );
115 }
116 assert( p->iLast < p->nVars );
117 p->pVars[p->iLast++] = Lit;
118}
#define assert(ex)
Definition util_old.h:213
Here is the caller graph for this function:

◆ Msat_QueueReadSize()

int Msat_QueueReadSize ( Msat_Queue_t * p)

Function*************************************************************

Synopsis [Reads the queue size.]

Description []

SideEffects []

SeeAlso []

Definition at line 91 of file msatQueue.c.

92{
93 return p->iLast - p->iFirst;
94}
Here is the caller graph for this function: