abc-master
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
fraigApi.c File Reference
#include "fraigInt.h"

Go to the source code of this file.

Functions

ABC_NAMESPACE_IMPL_START
Fraig_NodeVec_t
Fraig_ManReadVecInputs (Fraig_Man_t *p)
 DECLARATIONS ///. More...
 
Fraig_NodeVec_tFraig_ManReadVecOutputs (Fraig_Man_t *p)
 
Fraig_NodeVec_tFraig_ManReadVecNodes (Fraig_Man_t *p)
 
Fraig_Node_t ** Fraig_ManReadInputs (Fraig_Man_t *p)
 
Fraig_Node_t ** Fraig_ManReadOutputs (Fraig_Man_t *p)
 
Fraig_Node_t ** Fraig_ManReadNodes (Fraig_Man_t *p)
 
int Fraig_ManReadInputNum (Fraig_Man_t *p)
 
int Fraig_ManReadOutputNum (Fraig_Man_t *p)
 
int Fraig_ManReadNodeNum (Fraig_Man_t *p)
 
Fraig_Node_tFraig_ManReadConst1 (Fraig_Man_t *p)
 
Fraig_Node_tFraig_ManReadIthNode (Fraig_Man_t *p, int i)
 
char ** Fraig_ManReadInputNames (Fraig_Man_t *p)
 
char ** Fraig_ManReadOutputNames (Fraig_Man_t *p)
 
char * Fraig_ManReadVarsInt (Fraig_Man_t *p)
 
char * Fraig_ManReadSat (Fraig_Man_t *p)
 
int Fraig_ManReadFuncRed (Fraig_Man_t *p)
 
int Fraig_ManReadFeedBack (Fraig_Man_t *p)
 
int Fraig_ManReadDoSparse (Fraig_Man_t *p)
 
int Fraig_ManReadChoicing (Fraig_Man_t *p)
 
int Fraig_ManReadVerbose (Fraig_Man_t *p)
 
int * Fraig_ManReadModel (Fraig_Man_t *p)
 
int Fraig_ManReadPatternNumRandom (Fraig_Man_t *p)
 
int Fraig_ManReadPatternNumDynamic (Fraig_Man_t *p)
 
int Fraig_ManReadPatternNumDynamicFiltered (Fraig_Man_t *p)
 
int Fraig_ManReadSatFails (Fraig_Man_t *p)
 
int Fraig_ManReadConflicts (Fraig_Man_t *p)
 
int Fraig_ManReadInspects (Fraig_Man_t *p)
 
void Fraig_ManSetFuncRed (Fraig_Man_t *p, int fFuncRed)
 
void Fraig_ManSetFeedBack (Fraig_Man_t *p, int fFeedBack)
 
void Fraig_ManSetDoSparse (Fraig_Man_t *p, int fDoSparse)
 
void Fraig_ManSetChoicing (Fraig_Man_t *p, int fChoicing)
 
void Fraig_ManSetTryProve (Fraig_Man_t *p, int fTryProve)
 
void Fraig_ManSetVerbose (Fraig_Man_t *p, int fVerbose)
 
void Fraig_ManSetOutputNames (Fraig_Man_t *p, char **ppNames)
 
void Fraig_ManSetInputNames (Fraig_Man_t *p, char **ppNames)
 
Fraig_Node_tFraig_NodeReadData0 (Fraig_Node_t *p)
 
Fraig_Node_tFraig_NodeReadData1 (Fraig_Node_t *p)
 
int Fraig_NodeReadNum (Fraig_Node_t *p)
 
Fraig_Node_tFraig_NodeReadOne (Fraig_Node_t *p)
 
Fraig_Node_tFraig_NodeReadTwo (Fraig_Node_t *p)
 
Fraig_Node_tFraig_NodeReadNextE (Fraig_Node_t *p)
 
Fraig_Node_tFraig_NodeReadRepr (Fraig_Node_t *p)
 
int Fraig_NodeReadNumRefs (Fraig_Node_t *p)
 
int Fraig_NodeReadNumFanouts (Fraig_Node_t *p)
 
int Fraig_NodeReadSimInv (Fraig_Node_t *p)
 
int Fraig_NodeReadNumOnes (Fraig_Node_t *p)
 
unsigned * Fraig_NodeReadPatternsRandom (Fraig_Node_t *p)
 
unsigned * Fraig_NodeReadPatternsDynamic (Fraig_Node_t *p)
 
void Fraig_NodeSetData0 (Fraig_Node_t *p, Fraig_Node_t *pData)
 
void Fraig_NodeSetData1 (Fraig_Node_t *p, Fraig_Node_t *pData)
 
int Fraig_NodeIsConst (Fraig_Node_t *p)
 
int Fraig_NodeIsVar (Fraig_Node_t *p)
 
int Fraig_NodeIsAnd (Fraig_Node_t *p)
 
int Fraig_NodeComparePhase (Fraig_Node_t *p1, Fraig_Node_t *p2)
 
Fraig_Node_tFraig_ManReadIthVar (Fraig_Man_t *p, int i)
 
void Fraig_ManSetPo (Fraig_Man_t *p, Fraig_Node_t *pNode)
 
Fraig_Node_tFraig_NodeAnd (Fraig_Man_t *p, Fraig_Node_t *p1, Fraig_Node_t *p2)
 
Fraig_Node_tFraig_NodeOr (Fraig_Man_t *p, Fraig_Node_t *p1, Fraig_Node_t *p2)
 
Fraig_Node_tFraig_NodeExor (Fraig_Man_t *p, Fraig_Node_t *p1, Fraig_Node_t *p2)
 
Fraig_Node_tFraig_NodeMux (Fraig_Man_t *p, Fraig_Node_t *pC, Fraig_Node_t *pT, Fraig_Node_t *pE)
 
void Fraig_NodeSetChoice (Fraig_Man_t *pMan, Fraig_Node_t *pNodeOld, Fraig_Node_t *pNodeNew)
 

Function Documentation

int Fraig_ManReadChoicing ( Fraig_Man_t p)

Definition at line 61 of file fraigApi.c.

61 { return p->fChoicing; }
static Llb_Mgr_t * p
Definition: llb3Image.c:950
int Fraig_ManReadConflicts ( Fraig_Man_t p)

Definition at line 73 of file fraigApi.c.

73 { return p->pSat? Msat_SolverReadBackTracks(p->pSat) : 0; }
int Msat_SolverReadBackTracks(Msat_Solver_t *p)
Definition: msatSolverApi.c:58
static Llb_Mgr_t * p
Definition: llb3Image.c:950
Fraig_Node_t* Fraig_ManReadConst1 ( Fraig_Man_t p)

Definition at line 52 of file fraigApi.c.

52 { return p->pConst1; }
static Llb_Mgr_t * p
Definition: llb3Image.c:950
int Fraig_ManReadDoSparse ( Fraig_Man_t p)

Definition at line 60 of file fraigApi.c.

60 { return p->fDoSparse; }
static Llb_Mgr_t * p
Definition: llb3Image.c:950
int Fraig_ManReadFeedBack ( Fraig_Man_t p)

Definition at line 59 of file fraigApi.c.

59 { return p->fFeedBack; }
static Llb_Mgr_t * p
Definition: llb3Image.c:950
int Fraig_ManReadFuncRed ( Fraig_Man_t p)

Definition at line 58 of file fraigApi.c.

58 { return p->fFuncRed; }
static Llb_Mgr_t * p
Definition: llb3Image.c:950
char** Fraig_ManReadInputNames ( Fraig_Man_t p)

Definition at line 54 of file fraigApi.c.

54 { return p->ppInputNames; }
static Llb_Mgr_t * p
Definition: llb3Image.c:950
int Fraig_ManReadInputNum ( Fraig_Man_t p)

Definition at line 49 of file fraigApi.c.

49 { return p->vInputs->nSize; }
static Llb_Mgr_t * p
Definition: llb3Image.c:950
Fraig_Node_t** Fraig_ManReadInputs ( Fraig_Man_t p)

Definition at line 46 of file fraigApi.c.

46 { return p->vInputs->pArray; }
static Llb_Mgr_t * p
Definition: llb3Image.c:950
int Fraig_ManReadInspects ( Fraig_Man_t p)

Definition at line 75 of file fraigApi.c.

75 { return p->pSat? Msat_SolverReadInspects(p->pSat) : 0; }
int Msat_SolverReadInspects(Msat_Solver_t *p)
Definition: msatSolverApi.c:59
static Llb_Mgr_t * p
Definition: llb3Image.c:950
Fraig_Node_t* Fraig_ManReadIthNode ( Fraig_Man_t p,
int  i 
)

Definition at line 53 of file fraigApi.c.

53 { assert ( i < p->vNodes->nSize ); return p->vNodes->pArray[i]; }
static Llb_Mgr_t * p
Definition: llb3Image.c:950
#define assert(ex)
Definition: util_old.h:213
Fraig_Node_t* Fraig_ManReadIthVar ( Fraig_Man_t p,
int  i 
)

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

Synopsis [Returns a new primary input node.]

Description [If the node with this number does not exist, create a new PI node with this number.]

SideEffects []

SeeAlso []

Definition at line 168 of file fraigApi.c.

169 {
170  int k;
171  if ( i < 0 )
172  {
173  printf( "Requesting a PI with a negative number\n" );
174  return NULL;
175  }
176  // create the PIs to fill in the interval
177  if ( i >= p->vInputs->nSize )
178  for ( k = p->vInputs->nSize; k <= i; k++ )
179  Fraig_NodeCreatePi( p );
180  return p->vInputs->pArray[i];
181 }
static Llb_Mgr_t * p
Definition: llb3Image.c:950
Fraig_Node_t * Fraig_NodeCreatePi(Fraig_Man_t *p)
Definition: fraigNode.c:87
int* Fraig_ManReadModel ( Fraig_Man_t p)

Definition at line 63 of file fraigApi.c.

63 { return p->pModel; }
static Llb_Mgr_t * p
Definition: llb3Image.c:950
int Fraig_ManReadNodeNum ( Fraig_Man_t p)

Definition at line 51 of file fraigApi.c.

51 { return p->vNodes->nSize; }
static Llb_Mgr_t * p
Definition: llb3Image.c:950
Fraig_Node_t** Fraig_ManReadNodes ( Fraig_Man_t p)

Definition at line 48 of file fraigApi.c.

48 { return p->vNodes->pArray; }
static Llb_Mgr_t * p
Definition: llb3Image.c:950
char** Fraig_ManReadOutputNames ( Fraig_Man_t p)

Definition at line 55 of file fraigApi.c.

55 { return p->ppOutputNames; }
static Llb_Mgr_t * p
Definition: llb3Image.c:950
int Fraig_ManReadOutputNum ( Fraig_Man_t p)

Definition at line 50 of file fraigApi.c.

50 { return p->vOutputs->nSize; }
static Llb_Mgr_t * p
Definition: llb3Image.c:950
Fraig_Node_t** Fraig_ManReadOutputs ( Fraig_Man_t p)

Definition at line 47 of file fraigApi.c.

47 { return p->vOutputs->pArray; }
static Llb_Mgr_t * p
Definition: llb3Image.c:950
int Fraig_ManReadPatternNumDynamic ( Fraig_Man_t p)

Definition at line 67 of file fraigApi.c.

67 { return p->iWordStart * 32; }
static Llb_Mgr_t * p
Definition: llb3Image.c:950
int Fraig_ManReadPatternNumDynamicFiltered ( Fraig_Man_t p)

Definition at line 69 of file fraigApi.c.

69 { return p->iPatsPerm; }
static Llb_Mgr_t * p
Definition: llb3Image.c:950
int Fraig_ManReadPatternNumRandom ( Fraig_Man_t p)

Definition at line 65 of file fraigApi.c.

65 { return p->nWordsRand * 32; }
static Llb_Mgr_t * p
Definition: llb3Image.c:950
char* Fraig_ManReadSat ( Fraig_Man_t p)

Definition at line 57 of file fraigApi.c.

57 { return (char *)p->pSat; }
static Llb_Mgr_t * p
Definition: llb3Image.c:950
int Fraig_ManReadSatFails ( Fraig_Man_t p)

Definition at line 71 of file fraigApi.c.

71 { return p->nSatFailsReal; }
static Llb_Mgr_t * p
Definition: llb3Image.c:950
char* Fraig_ManReadVarsInt ( Fraig_Man_t p)

Definition at line 56 of file fraigApi.c.

56 { return (char *)p->vVarsInt; }
static Llb_Mgr_t * p
Definition: llb3Image.c:950
ABC_NAMESPACE_IMPL_START Fraig_NodeVec_t* Fraig_ManReadVecInputs ( Fraig_Man_t p)

DECLARATIONS ///.

FUNCTION DEFINITIONS ///.

CFile****************************************************************

FileName [fraigApi.c]

PackageName [FRAIG: Functionally reduced AND-INV graphs.]

Synopsis [Access APIs for the FRAIG manager and node.]

Author [Alan Mishchenko alanm.nosp@m.i@ee.nosp@m.cs.be.nosp@m.rkel.nosp@m.ey.ed.nosp@m.u]

Affiliation [UC Berkeley]

Date [Ver. 2.0. Started - October 1, 2004]

Revision [

Id:
fraigApi.c,v 1.2 2005/07/08 01:01:30 alanmi Exp

]FUNCTION DEFINITIONS /// Function*************************************************************

Synopsis [Access functions to read the data members of the manager.]

Description []

SideEffects []

SeeAlso []

Definition at line 43 of file fraigApi.c.

43 { return p->vInputs; }
static Llb_Mgr_t * p
Definition: llb3Image.c:950
Fraig_NodeVec_t* Fraig_ManReadVecNodes ( Fraig_Man_t p)

Definition at line 45 of file fraigApi.c.

45 { return p->vNodes; }
static Llb_Mgr_t * p
Definition: llb3Image.c:950
Fraig_NodeVec_t* Fraig_ManReadVecOutputs ( Fraig_Man_t p)

Definition at line 44 of file fraigApi.c.

44 { return p->vOutputs; }
static Llb_Mgr_t * p
Definition: llb3Image.c:950
int Fraig_ManReadVerbose ( Fraig_Man_t p)

Definition at line 62 of file fraigApi.c.

62 { return p->fVerbose; }
static Llb_Mgr_t * p
Definition: llb3Image.c:950
void Fraig_ManSetChoicing ( Fraig_Man_t p,
int  fChoicing 
)

Definition at line 91 of file fraigApi.c.

91 { p->fChoicing = fChoicing; }
static Llb_Mgr_t * p
Definition: llb3Image.c:950
void Fraig_ManSetDoSparse ( Fraig_Man_t p,
int  fDoSparse 
)

Definition at line 90 of file fraigApi.c.

90 { p->fDoSparse = fDoSparse; }
static Llb_Mgr_t * p
Definition: llb3Image.c:950
void Fraig_ManSetFeedBack ( Fraig_Man_t p,
int  fFeedBack 
)

Definition at line 89 of file fraigApi.c.

89 { p->fFeedBack = fFeedBack; }
static Llb_Mgr_t * p
Definition: llb3Image.c:950
void Fraig_ManSetFuncRed ( Fraig_Man_t p,
int  fFuncRed 
)

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

Synopsis [Access functions to set the data members of the manager.]

Description []

SideEffects []

SeeAlso []

Definition at line 88 of file fraigApi.c.

88 { p->fFuncRed = fFuncRed; }
static Llb_Mgr_t * p
Definition: llb3Image.c:950
void Fraig_ManSetInputNames ( Fraig_Man_t p,
char **  ppNames 
)

Definition at line 95 of file fraigApi.c.

95 { p->ppInputNames = ppNames; }
static Llb_Mgr_t * p
Definition: llb3Image.c:950
void Fraig_ManSetOutputNames ( Fraig_Man_t p,
char **  ppNames 
)

Definition at line 94 of file fraigApi.c.

94 { p->ppOutputNames = ppNames; }
static Llb_Mgr_t * p
Definition: llb3Image.c:950
void Fraig_ManSetPo ( Fraig_Man_t p,
Fraig_Node_t pNode 
)

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

Synopsis [Creates a new PO node.]

Description [This procedure may take a complemented node.]

SideEffects []

SeeAlso []

Definition at line 194 of file fraigApi.c.

195 {
196  // internal node may be a PO two times
197  Fraig_Regular(pNode)->fNodePo = 1;
198  Fraig_NodeVecPush( p->vOutputs, pNode );
199 }
void Fraig_NodeVecPush(Fraig_NodeVec_t *p, Fraig_Node_t *Entry)
Definition: fraigVec.c:189
static Llb_Mgr_t * p
Definition: llb3Image.c:950
#define Fraig_Regular(p)
Definition: fraig.h:108
void Fraig_ManSetTryProve ( Fraig_Man_t p,
int  fTryProve 
)

Definition at line 92 of file fraigApi.c.

92 { p->fTryProve = fTryProve; }
static Llb_Mgr_t * p
Definition: llb3Image.c:950
void Fraig_ManSetVerbose ( Fraig_Man_t p,
int  fVerbose 
)

Definition at line 93 of file fraigApi.c.

93 { p->fVerbose = fVerbose; }
static Llb_Mgr_t * p
Definition: llb3Image.c:950
Fraig_Node_t* Fraig_NodeAnd ( Fraig_Man_t p,
Fraig_Node_t p1,
Fraig_Node_t p2 
)

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

Synopsis [Perfoms the AND operation with functional hashing.]

Description []

SideEffects []

SeeAlso []

Definition at line 212 of file fraigApi.c.

213 {
214  return Fraig_NodeAndCanon( p, p1, p2 );
215 }
static Llb_Mgr_t * p
Definition: llb3Image.c:950
ABC_NAMESPACE_IMPL_START Fraig_Node_t * Fraig_NodeAndCanon(Fraig_Man_t *pMan, Fraig_Node_t *p1, Fraig_Node_t *p2)
DECLARATIONS ///.
Definition: fraigCanon.c:52
int Fraig_NodeComparePhase ( Fraig_Node_t p1,
Fraig_Node_t p2 
)

Definition at line 154 of file fraigApi.c.

154 { assert( !Fraig_IsComplement(p1) ); assert( !Fraig_IsComplement(p2) ); return p1->fInv ^ p2->fInv; }
#define Fraig_IsComplement(p)
GLOBAL VARIABLES ///.
Definition: fraig.h:107
#define assert(ex)
Definition: util_old.h:213
Fraig_Node_t* Fraig_NodeExor ( Fraig_Man_t p,
Fraig_Node_t p1,
Fraig_Node_t p2 
)

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

Synopsis [Perfoms the EXOR operation with functional hashing.]

Description []

SideEffects []

SeeAlso []

Definition at line 244 of file fraigApi.c.

245 {
246  return Fraig_NodeMux( p, p1, Fraig_Not(p2), p2 );
247 }
static Llb_Mgr_t * p
Definition: llb3Image.c:950
#define Fraig_Not(p)
Definition: fraig.h:109
Fraig_Node_t * Fraig_NodeMux(Fraig_Man_t *p, Fraig_Node_t *pC, Fraig_Node_t *pT, Fraig_Node_t *pE)
Definition: fraigApi.c:260
int Fraig_NodeIsAnd ( Fraig_Node_t p)

Definition at line 153 of file fraigApi.c.

153 { return (Fraig_Regular(p))->NumPi < 0 && (Fraig_Regular(p))->Num > 0; }
#define Fraig_Regular(p)
Definition: fraig.h:108
int Fraig_NodeIsConst ( Fraig_Node_t p)

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

Synopsis [Checks the type of the node.]

Description []

SideEffects []

SeeAlso []

Definition at line 151 of file fraigApi.c.

151 { return (Fraig_Regular(p))->Num == 0; }
#define Fraig_Regular(p)
Definition: fraig.h:108
int Fraig_NodeIsVar ( Fraig_Node_t p)

Definition at line 152 of file fraigApi.c.

152 { return (Fraig_Regular(p))->NumPi >= 0; }
#define Fraig_Regular(p)
Definition: fraig.h:108
Fraig_Node_t* Fraig_NodeMux ( Fraig_Man_t p,
Fraig_Node_t pC,
Fraig_Node_t pT,
Fraig_Node_t pE 
)

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

Synopsis [Perfoms the MUX operation with functional hashing.]

Description []

SideEffects []

SeeAlso []

Definition at line 260 of file fraigApi.c.

261 {
262  Fraig_Node_t * pAnd1, * pAnd2, * pRes;
263  pAnd1 = Fraig_NodeAndCanon( p, pC, pT ); Fraig_Ref( pAnd1 );
264  pAnd2 = Fraig_NodeAndCanon( p, Fraig_Not(pC), pE ); Fraig_Ref( pAnd2 );
265  pRes = Fraig_NodeOr( p, pAnd1, pAnd2 );
266  Fraig_RecursiveDeref( p, pAnd1 );
267  Fraig_RecursiveDeref( p, pAnd2 );
268  Fraig_Deref( pRes );
269  return pRes;
270 }
#define Fraig_RecursiveDeref(p, c)
Definition: fraig.h:115
static Llb_Mgr_t * p
Definition: llb3Image.c:950
#define Fraig_Ref(p)
Definition: fraig.h:113
#define Fraig_Deref(p)
Definition: fraig.h:114
#define Fraig_Not(p)
Definition: fraig.h:109
Fraig_Node_t * Fraig_NodeOr(Fraig_Man_t *p, Fraig_Node_t *p1, Fraig_Node_t *p2)
Definition: fraigApi.c:228
ABC_NAMESPACE_IMPL_START Fraig_Node_t * Fraig_NodeAndCanon(Fraig_Man_t *pMan, Fraig_Node_t *p1, Fraig_Node_t *p2)
DECLARATIONS ///.
Definition: fraigCanon.c:52
Fraig_Node_t* Fraig_NodeOr ( Fraig_Man_t p,
Fraig_Node_t p1,
Fraig_Node_t p2 
)

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

Synopsis [Perfoms the OR operation with functional hashing.]

Description []

SideEffects []

SeeAlso []

Definition at line 228 of file fraigApi.c.

229 {
230  return Fraig_Not( Fraig_NodeAndCanon( p, Fraig_Not(p1), Fraig_Not(p2) ) );
231 }
static Llb_Mgr_t * p
Definition: llb3Image.c:950
#define Fraig_Not(p)
Definition: fraig.h:109
ABC_NAMESPACE_IMPL_START Fraig_Node_t * Fraig_NodeAndCanon(Fraig_Man_t *pMan, Fraig_Node_t *p1, Fraig_Node_t *p2)
DECLARATIONS ///.
Definition: fraigCanon.c:52
Fraig_Node_t* Fraig_NodeReadData0 ( Fraig_Node_t p)

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

Synopsis [Access functions to read the data members of the node.]

Description []

SideEffects []

SeeAlso []

Definition at line 108 of file fraigApi.c.

108 { return p->pData0; }
Fraig_Node_t * pData0
Definition: fraigInt.h:251
Fraig_Node_t* Fraig_NodeReadData1 ( Fraig_Node_t p)

Definition at line 109 of file fraigApi.c.

109 { return p->pData1; }
Fraig_Node_t * pData1
Definition: fraigInt.h:252
Fraig_Node_t* Fraig_NodeReadNextE ( Fraig_Node_t p)

Definition at line 113 of file fraigApi.c.

113 { return p->pNextE; }
Fraig_Node_t * pNextE
Definition: fraigInt.h:241
int Fraig_NodeReadNum ( Fraig_Node_t p)

Definition at line 110 of file fraigApi.c.

110 { return p->Num; }
int Fraig_NodeReadNumFanouts ( Fraig_Node_t p)

Definition at line 116 of file fraigApi.c.

116 { return p->nFanouts; }
unsigned nFanouts
Definition: fraigInt.h:228
int Fraig_NodeReadNumOnes ( Fraig_Node_t p)

Definition at line 118 of file fraigApi.c.

118 { return p->nOnes; }
int Fraig_NodeReadNumRefs ( Fraig_Node_t p)

Definition at line 115 of file fraigApi.c.

115 { return p->nRefs; }
Fraig_Node_t* Fraig_NodeReadOne ( Fraig_Node_t p)

Definition at line 111 of file fraigApi.c.

111 { assert (!Fraig_IsComplement(p)); return p->p1; }
Fraig_Node_t * p1
Definition: fraigInt.h:232
#define Fraig_IsComplement(p)
GLOBAL VARIABLES ///.
Definition: fraig.h:107
#define assert(ex)
Definition: util_old.h:213
unsigned* Fraig_NodeReadPatternsDynamic ( Fraig_Node_t p)

Definition at line 124 of file fraigApi.c.

124 { return p->puSimD; }
unsigned * puSimD
Definition: fraigInt.h:248
unsigned* Fraig_NodeReadPatternsRandom ( Fraig_Node_t p)

Definition at line 121 of file fraigApi.c.

121 { return p->puSimR; }
unsigned * puSimR
Definition: fraigInt.h:247
Fraig_Node_t* Fraig_NodeReadRepr ( Fraig_Node_t p)

Definition at line 114 of file fraigApi.c.

114 { return p->pRepr; }
Fraig_Node_t * pRepr
Definition: fraigInt.h:242
int Fraig_NodeReadSimInv ( Fraig_Node_t p)

Definition at line 117 of file fraigApi.c.

117 { return p->fInv; }
Fraig_Node_t* Fraig_NodeReadTwo ( Fraig_Node_t p)

Definition at line 112 of file fraigApi.c.

112 { assert (!Fraig_IsComplement(p)); return p->p2; }
Fraig_Node_t * p2
Definition: fraigInt.h:233
#define Fraig_IsComplement(p)
GLOBAL VARIABLES ///.
Definition: fraig.h:107
#define assert(ex)
Definition: util_old.h:213
void Fraig_NodeSetChoice ( Fraig_Man_t pMan,
Fraig_Node_t pNodeOld,
Fraig_Node_t pNodeNew 
)

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

Synopsis [Sets the node to be equivalent to the given one.]

Description [This procedure is a work-around for the equivalence check. Does not verify the equivalence. Use at the user's risk.]

SideEffects []

SeeAlso []

Definition at line 285 of file fraigApi.c.

286 {
287 // assert( pMan->fChoicing );
288  pNodeNew->pNextE = pNodeOld->pNextE;
289  pNodeOld->pNextE = pNodeNew;
290  pNodeNew->pRepr = pNodeOld;
291 }
Fraig_Node_t * pNextE
Definition: fraigInt.h:241
Fraig_Node_t * pRepr
Definition: fraigInt.h:242
void Fraig_NodeSetData0 ( Fraig_Node_t p,
Fraig_Node_t pData 
)

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

Synopsis [Access functions to set the data members of the node.]

Description []

SideEffects []

SeeAlso []

Definition at line 137 of file fraigApi.c.

137 { p->pData0 = pData; }
Fraig_Node_t * pData0
Definition: fraigInt.h:251
void Fraig_NodeSetData1 ( Fraig_Node_t p,
Fraig_Node_t pData 
)

Definition at line 138 of file fraigApi.c.

138 { p->pData1 = pData; }
Fraig_Node_t * pData1
Definition: fraigInt.h:252