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

Go to the source code of this file.

Functions

ABC_NAMESPACE_IMPL_START Fraig_NodeVec_tFraig_ManReadVecInputs (Fraig_Man_t *p)
 DECLARATIONS ///.
 
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

◆ Fraig_ManReadChoicing()

int Fraig_ManReadChoicing ( Fraig_Man_t * p)

Definition at line 61 of file fraigApi.c.

61{ return p->fChoicing; }
Cube * p
Definition exorList.c:222

◆ Fraig_ManReadConflicts()

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)
Here is the call graph for this function:

◆ Fraig_ManReadConst1()

Fraig_Node_t * Fraig_ManReadConst1 ( Fraig_Man_t * p)

Definition at line 52 of file fraigApi.c.

52{ return p->pConst1; }
Here is the caller graph for this function:

◆ Fraig_ManReadDoSparse()

int Fraig_ManReadDoSparse ( Fraig_Man_t * p)

Definition at line 60 of file fraigApi.c.

60{ return p->fDoSparse; }

◆ Fraig_ManReadFeedBack()

int Fraig_ManReadFeedBack ( Fraig_Man_t * p)

Definition at line 59 of file fraigApi.c.

59{ return p->fFeedBack; }

◆ Fraig_ManReadFuncRed()

int Fraig_ManReadFuncRed ( Fraig_Man_t * p)

Definition at line 58 of file fraigApi.c.

58{ return p->fFuncRed; }

◆ Fraig_ManReadInputNames()

char ** Fraig_ManReadInputNames ( Fraig_Man_t * p)

Definition at line 54 of file fraigApi.c.

54{ return p->ppInputNames; }

◆ Fraig_ManReadInputNum()

int Fraig_ManReadInputNum ( Fraig_Man_t * p)

Definition at line 49 of file fraigApi.c.

49{ return p->vInputs->nSize; }
Here is the caller graph for this function:

◆ Fraig_ManReadInputs()

Fraig_Node_t ** Fraig_ManReadInputs ( Fraig_Man_t * p)

Definition at line 46 of file fraigApi.c.

46{ return p->vInputs->pArray; }

◆ Fraig_ManReadInspects()

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)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ Fraig_ManReadIthNode()

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]; }
#define assert(ex)
Definition util_old.h:213
Here is the caller graph for this function:

◆ Fraig_ManReadIthVar()

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++ )
180 return p->vInputs->pArray[i];
181}
Fraig_Node_t * Fraig_NodeCreatePi(Fraig_Man_t *p)
Definition fraigNode.c:87
Here is the call graph for this function:
Here is the caller graph for this function:

◆ Fraig_ManReadModel()

int * Fraig_ManReadModel ( Fraig_Man_t * p)

Definition at line 63 of file fraigApi.c.

63{ return p->pModel; }

◆ Fraig_ManReadNodeNum()

int Fraig_ManReadNodeNum ( Fraig_Man_t * p)

Definition at line 51 of file fraigApi.c.

51{ return p->vNodes->nSize; }
Here is the caller graph for this function:

◆ Fraig_ManReadNodes()

Fraig_Node_t ** Fraig_ManReadNodes ( Fraig_Man_t * p)

Definition at line 48 of file fraigApi.c.

48{ return p->vNodes->pArray; }

◆ Fraig_ManReadOutputNames()

char ** Fraig_ManReadOutputNames ( Fraig_Man_t * p)

Definition at line 55 of file fraigApi.c.

55{ return p->ppOutputNames; }

◆ Fraig_ManReadOutputNum()

int Fraig_ManReadOutputNum ( Fraig_Man_t * p)

Definition at line 50 of file fraigApi.c.

50{ return p->vOutputs->nSize; }

◆ Fraig_ManReadOutputs()

Fraig_Node_t ** Fraig_ManReadOutputs ( Fraig_Man_t * p)

Definition at line 47 of file fraigApi.c.

47{ return p->vOutputs->pArray; }
Here is the caller graph for this function:

◆ Fraig_ManReadPatternNumDynamic()

int Fraig_ManReadPatternNumDynamic ( Fraig_Man_t * p)

Definition at line 67 of file fraigApi.c.

67{ return p->iWordStart * 32; }
Here is the caller graph for this function:

◆ Fraig_ManReadPatternNumDynamicFiltered()

int Fraig_ManReadPatternNumDynamicFiltered ( Fraig_Man_t * p)

Definition at line 69 of file fraigApi.c.

69{ return p->iPatsPerm; }

◆ Fraig_ManReadPatternNumRandom()

int Fraig_ManReadPatternNumRandom ( Fraig_Man_t * p)

Definition at line 65 of file fraigApi.c.

65{ return p->nWordsRand * 32; }
Here is the caller graph for this function:

◆ Fraig_ManReadSat()

char * Fraig_ManReadSat ( Fraig_Man_t * p)

Definition at line 57 of file fraigApi.c.

57{ return (char *)p->pSat; }

◆ Fraig_ManReadSatFails()

int Fraig_ManReadSatFails ( Fraig_Man_t * p)

Definition at line 71 of file fraigApi.c.

71{ return p->nSatFailsReal; }

◆ Fraig_ManReadVarsInt()

char * Fraig_ManReadVarsInt ( Fraig_Man_t * p)

Definition at line 56 of file fraigApi.c.

56{ return (char *)p->vVarsInt; }

◆ Fraig_ManReadVecInputs()

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; }

◆ Fraig_ManReadVecNodes()

Fraig_NodeVec_t * Fraig_ManReadVecNodes ( Fraig_Man_t * p)

Definition at line 45 of file fraigApi.c.

45{ return p->vNodes; }

◆ Fraig_ManReadVecOutputs()

Fraig_NodeVec_t * Fraig_ManReadVecOutputs ( Fraig_Man_t * p)

Definition at line 44 of file fraigApi.c.

44{ return p->vOutputs; }

◆ Fraig_ManReadVerbose()

int Fraig_ManReadVerbose ( Fraig_Man_t * p)

Definition at line 62 of file fraigApi.c.

62{ return p->fVerbose; }

◆ Fraig_ManSetChoicing()

void Fraig_ManSetChoicing ( Fraig_Man_t * p,
int fChoicing )

Definition at line 91 of file fraigApi.c.

91{ p->fChoicing = fChoicing; }

◆ Fraig_ManSetDoSparse()

void Fraig_ManSetDoSparse ( Fraig_Man_t * p,
int fDoSparse )

Definition at line 90 of file fraigApi.c.

90{ p->fDoSparse = fDoSparse; }

◆ Fraig_ManSetFeedBack()

void Fraig_ManSetFeedBack ( Fraig_Man_t * p,
int fFeedBack )

Definition at line 89 of file fraigApi.c.

89{ p->fFeedBack = fFeedBack; }

◆ Fraig_ManSetFuncRed()

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; }
Here is the caller graph for this function:

◆ Fraig_ManSetInputNames()

void Fraig_ManSetInputNames ( Fraig_Man_t * p,
char ** ppNames )

Definition at line 95 of file fraigApi.c.

95{ p->ppInputNames = ppNames; }

◆ Fraig_ManSetOutputNames()

void Fraig_ManSetOutputNames ( Fraig_Man_t * p,
char ** ppNames )

Definition at line 94 of file fraigApi.c.

94{ p->ppOutputNames = ppNames; }

◆ Fraig_ManSetPo()

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}
#define Fraig_Regular(p)
Definition fraig.h:108
void Fraig_NodeVecPush(Fraig_NodeVec_t *p, Fraig_Node_t *Entry)
Definition fraigVec.c:189
Here is the call graph for this function:
Here is the caller graph for this function:

◆ Fraig_ManSetTryProve()

void Fraig_ManSetTryProve ( Fraig_Man_t * p,
int fTryProve )

Definition at line 92 of file fraigApi.c.

92{ p->fTryProve = fTryProve; }

◆ Fraig_ManSetVerbose()

void Fraig_ManSetVerbose ( Fraig_Man_t * p,
int fVerbose )

Definition at line 93 of file fraigApi.c.

93{ p->fVerbose = fVerbose; }

◆ Fraig_NodeAnd()

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}
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
Here is the call graph for this function:
Here is the caller graph for this function:

◆ Fraig_NodeComparePhase()

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
Here is the caller graph for this function:

◆ Fraig_NodeExor()

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}
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
#define Fraig_Not(p)
Definition fraig.h:109
Here is the call graph for this function:

◆ Fraig_NodeIsAnd()

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; }
Here is the caller graph for this function:

◆ Fraig_NodeIsConst()

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; }
Here is the caller graph for this function:

◆ Fraig_NodeIsVar()

int Fraig_NodeIsVar ( Fraig_Node_t * p)

Definition at line 152 of file fraigApi.c.

152{ return (Fraig_Regular(p))->NumPi >= 0; }
Here is the caller graph for this function:

◆ Fraig_NodeMux()

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}
Fraig_Node_t * Fraig_NodeOr(Fraig_Man_t *p, Fraig_Node_t *p1, Fraig_Node_t *p2)
Definition fraigApi.c:228
#define Fraig_Deref(p)
Definition fraig.h:114
#define Fraig_Ref(p)
Definition fraig.h:113
struct Fraig_NodeStruct_t_ Fraig_Node_t
Definition fraig.h:41
#define Fraig_RecursiveDeref(p, c)
Definition fraig.h:115
Here is the call graph for this function:
Here is the caller graph for this function:

◆ Fraig_NodeOr()

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}
Here is the call graph for this function:
Here is the caller graph for this function:

◆ Fraig_NodeReadData0()

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_NodeReadData1()

Fraig_Node_t * Fraig_NodeReadData1 ( Fraig_Node_t * p)

Definition at line 109 of file fraigApi.c.

109{ return p->pData1; }

◆ Fraig_NodeReadNextE()

Fraig_Node_t * Fraig_NodeReadNextE ( Fraig_Node_t * p)

Definition at line 113 of file fraigApi.c.

113{ return p->pNextE; }

◆ Fraig_NodeReadNum()

int Fraig_NodeReadNum ( Fraig_Node_t * p)

Definition at line 110 of file fraigApi.c.

110{ return p->Num; }

◆ Fraig_NodeReadNumFanouts()

int Fraig_NodeReadNumFanouts ( Fraig_Node_t * p)

Definition at line 116 of file fraigApi.c.

116{ return p->nFanouts; }

◆ Fraig_NodeReadNumOnes()

int Fraig_NodeReadNumOnes ( Fraig_Node_t * p)

Definition at line 118 of file fraigApi.c.

118{ return p->nOnes; }

◆ Fraig_NodeReadNumRefs()

int Fraig_NodeReadNumRefs ( Fraig_Node_t * p)

Definition at line 115 of file fraigApi.c.

115{ return p->nRefs; }

◆ Fraig_NodeReadOne()

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; }
Here is the caller graph for this function:

◆ Fraig_NodeReadPatternsDynamic()

unsigned * Fraig_NodeReadPatternsDynamic ( Fraig_Node_t * p)

Definition at line 124 of file fraigApi.c.

124{ return p->puSimD; }

◆ Fraig_NodeReadPatternsRandom()

unsigned * Fraig_NodeReadPatternsRandom ( Fraig_Node_t * p)

Definition at line 121 of file fraigApi.c.

121{ return p->puSimR; }

◆ Fraig_NodeReadRepr()

Fraig_Node_t * Fraig_NodeReadRepr ( Fraig_Node_t * p)

Definition at line 114 of file fraigApi.c.

114{ return p->pRepr; }

◆ Fraig_NodeReadSimInv()

int Fraig_NodeReadSimInv ( Fraig_Node_t * p)

Definition at line 117 of file fraigApi.c.

117{ return p->fInv; }

◆ Fraig_NodeReadTwo()

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; }
Here is the caller graph for this function:

◆ Fraig_NodeSetChoice()

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 * pRepr
Definition fraigInt.h:242
Fraig_Node_t * pNextE
Definition fraigInt.h:241

◆ Fraig_NodeSetData0()

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_NodeSetData1()

void Fraig_NodeSetData1 ( Fraig_Node_t * p,
Fraig_Node_t * pData )

Definition at line 138 of file fraigApi.c.

138{ p->pData1 = pData; }
Here is the caller graph for this function: