ABC: A System for Sequential Synthesis and Verification
 
Loading...
Searching...
No Matches
fraig.h
Go to the documentation of this file.
1
18
19#ifndef ABC__sat__fraig__fraig_h
20#define ABC__sat__fraig__fraig_h
21
22
26
30
31
32
34
35
39
45typedef struct Fraig_PatternsStruct_t_ Fraig_Patterns_t;
47
49{
50 int nPatsRand; // the number of words of random simulation info
51 int nPatsDyna; // the number of words of dynamic simulation info
52 int nBTLimit; // the max number of backtracks to perform
53 int nSeconds; // the timeout for the final proof
54 int fFuncRed; // performs only one level hashing
55 int fFeedBack; // enables solver feedback
56 int fDist1Pats; // enables distance-1 patterns
57 int fDoSparse; // performs equiv tests for sparse functions
58 int fChoicing; // enables recording structural choices
59 int fTryProve; // tries to solve the final miter
60 int fVerbose; // the verbosiness flag
61 int fVerboseP; // the verbosiness flag (for proof reporting)
62 int fInternal; // is set to 1 for internal fraig calls
63 int nConfLimit; // the limit on the number of conflicts
64 ABC_INT64_T nInspLimit; // the limit on the number of inspections
65};
66
68{
69 // general parameters
70 int fUseFraiging; // enables fraiging
71 int fUseRewriting; // enables rewriting
72 int fUseBdds; // enables BDD construction when other methods fail
73 int fVerbose; // prints verbose stats
74 // iterations
75 int nItersMax; // the number of iterations
76 // mitering
77 int nMiteringLimitStart; // starting mitering limit
78 float nMiteringLimitMulti; // multiplicative coefficient to increase the limit in each iteration
79 // rewriting
80 int nRewritingLimitStart; // the number of rewriting iterations
81 float nRewritingLimitMulti; // multiplicative coefficient to increase the limit in each iteration
82 // fraiging
83 int nFraigingLimitStart; // starting backtrack(conflict) limit
84 float nFraigingLimitMulti; // multiplicative coefficient to increase the limit in each iteration
85 // last-gasp BDD construction
86 int nBddSizeLimit; // the number of BDD nodes when construction is aborted
87 int fBddReorder; // enables dynamic BDD variable reordering
88 // last-gasp mitering
89 int nMiteringLimitLast; // final mitering limit
90 // global SAT solver limits
91 ABC_INT64_T nTotalBacktrackLimit; // global limit on the number of backtracks
92 ABC_INT64_T nTotalInspectLimit; // global limit on the number of clause inspects
93 // global resources applied
94 ABC_INT64_T nTotalBacktracksMade; // the total number of backtracks made
95 ABC_INT64_T nTotalInspectsMade; // the total number of inspects made
96};
97
101
105
106// macros working with complemented attributes of the nodes
107#define Fraig_IsComplement(p) (((int)((ABC_PTRUINT_T) (p) & 01)))
108#define Fraig_Regular(p) ((Fraig_Node_t *)((ABC_PTRUINT_T)(p) & ~01))
109#define Fraig_Not(p) ((Fraig_Node_t *)((ABC_PTRUINT_T)(p) ^ 01))
110#define Fraig_NotCond(p,c) ((Fraig_Node_t *)((ABC_PTRUINT_T)(p) ^ (c)))
111
112// these are currently not used
113#define Fraig_Ref(p)
114#define Fraig_Deref(p)
115#define Fraig_RecursiveDeref(p,c)
116
120
121/*=== fraigApi.c =============================================================*/
128extern int Fraig_ManReadInputNum ( Fraig_Man_t * p );
129extern int Fraig_ManReadOutputNum( Fraig_Man_t * p );
130extern int Fraig_ManReadNodeNum( Fraig_Man_t * p );
132extern Fraig_Node_t * Fraig_ManReadIthVar( Fraig_Man_t * p, int i );
134extern char ** Fraig_ManReadInputNames( Fraig_Man_t * p );
135extern char ** Fraig_ManReadOutputNames( Fraig_Man_t * p );
136extern char * Fraig_ManReadVarsInt( Fraig_Man_t * p );
137extern char * Fraig_ManReadSat( Fraig_Man_t * p );
138extern int Fraig_ManReadFuncRed( Fraig_Man_t * p );
139extern int Fraig_ManReadFeedBack( Fraig_Man_t * p );
140extern int Fraig_ManReadDoSparse( Fraig_Man_t * p );
141extern int Fraig_ManReadChoicing( Fraig_Man_t * p );
142extern int Fraig_ManReadVerbose( Fraig_Man_t * p );
143extern int * Fraig_ManReadModel( Fraig_Man_t * p );
147extern int Fraig_ManReadSatFails( Fraig_Man_t * p );
148extern int Fraig_ManReadConflicts( Fraig_Man_t * p );
149extern int Fraig_ManReadInspects( Fraig_Man_t * p );
150
151extern void Fraig_ManSetFuncRed( Fraig_Man_t * p, int fFuncRed );
152extern void Fraig_ManSetFeedBack( Fraig_Man_t * p, int fFeedBack );
153extern void Fraig_ManSetDoSparse( Fraig_Man_t * p, int fDoSparse );
154extern void Fraig_ManSetChoicing( Fraig_Man_t * p, int fChoicing );
155extern void Fraig_ManSetTryProve( Fraig_Man_t * p, int fTryProve );
156extern void Fraig_ManSetVerbose( Fraig_Man_t * p, int fVerbose );
157extern void Fraig_ManSetOutputNames( Fraig_Man_t * p, char ** ppNames );
158extern void Fraig_ManSetInputNames( Fraig_Man_t * p, char ** ppNames );
159extern void Fraig_ManSetPo( Fraig_Man_t * p, Fraig_Node_t * pNode );
160
163extern int Fraig_NodeReadNum( Fraig_Node_t * p );
168extern int Fraig_NodeReadNumRefs( Fraig_Node_t * p );
170extern int Fraig_NodeReadSimInv( Fraig_Node_t * p );
171extern int Fraig_NodeReadNumOnes( Fraig_Node_t * p );
172extern unsigned * Fraig_NodeReadPatternsRandom( Fraig_Node_t * p );
173extern unsigned * Fraig_NodeReadPatternsDynamic( Fraig_Node_t * p );
174
175extern void Fraig_NodeSetData0( Fraig_Node_t * p, Fraig_Node_t * pData );
176extern void Fraig_NodeSetData1( Fraig_Node_t * p, Fraig_Node_t * pData );
177
178extern int Fraig_NodeIsConst( Fraig_Node_t * p );
179extern int Fraig_NodeIsVar( Fraig_Node_t * p );
180extern int Fraig_NodeIsAnd( Fraig_Node_t * p );
181extern int Fraig_NodeComparePhase( Fraig_Node_t * p1, Fraig_Node_t * p2 );
182
187extern Fraig_Node_t * Fraig_NodeMux( Fraig_Man_t * p, Fraig_Node_t * pNode, Fraig_Node_t * pNodeT, Fraig_Node_t * pNodeE );
188extern void Fraig_NodeSetChoice( Fraig_Man_t * pMan, Fraig_Node_t * pNodeOld, Fraig_Node_t * pNodeNew );
189
190/*=== fraigMan.c =============================================================*/
191extern void Prove_ParamsSetDefault( Prove_Params_t * pParams );
192extern void Fraig_ParamsSetDefault( Fraig_Params_t * pParams );
193extern void Fraig_ParamsSetDefaultFull( Fraig_Params_t * pParams );
194extern Fraig_Man_t * Fraig_ManCreate( Fraig_Params_t * pParams );
195extern void Fraig_ManFree( Fraig_Man_t * pMan );
196extern void Fraig_ManPrintStats( Fraig_Man_t * p );
199extern void Fraig_ManAddClause( Fraig_Man_t * p, Fraig_Node_t ** ppNodes, int nNodes );
200
201/*=== fraigDfs.c =============================================================*/
202extern Fraig_NodeVec_t * Fraig_Dfs( Fraig_Man_t * pMan, int fEquiv );
203extern Fraig_NodeVec_t * Fraig_DfsOne( Fraig_Man_t * pMan, Fraig_Node_t * pNode, int fEquiv );
204extern Fraig_NodeVec_t * Fraig_DfsNodes( Fraig_Man_t * pMan, Fraig_Node_t ** ppNodes, int nNodes, int fEquiv );
206extern int Fraig_CountNodes( Fraig_Man_t * pMan, int fEquiv );
207extern int Fraig_CheckTfi( Fraig_Man_t * pMan, Fraig_Node_t * pOld, Fraig_Node_t * pNew );
208extern int Fraig_CountLevels( Fraig_Man_t * pMan );
209
210/*=== fraigSat.c =============================================================*/
211extern int Fraig_NodesAreEqual( Fraig_Man_t * p, Fraig_Node_t * pNode1, Fraig_Node_t * pNode2, int nBTLimit, int nTimeLimit );
212extern int Fraig_NodeIsEquivalent( Fraig_Man_t * p, Fraig_Node_t * pOld, Fraig_Node_t * pNew, int nBTLimit, int nTimeLimit );
213extern void Fraig_ManProveMiter( Fraig_Man_t * p );
214extern int Fraig_ManCheckMiter( Fraig_Man_t * p );
215extern int Fraig_ManCheckClauseUsingSat( Fraig_Man_t * p, Fraig_Node_t * pNode1, Fraig_Node_t * pNode2, int nBTLimit );
216
217/*=== fraigVec.c ===============================================================*/
218extern Fraig_NodeVec_t * Fraig_NodeVecAlloc( int nCap );
219extern void Fraig_NodeVecFree( Fraig_NodeVec_t * p );
223extern void Fraig_NodeVecGrow( Fraig_NodeVec_t * p, int nCapMin );
224extern void Fraig_NodeVecShrink( Fraig_NodeVec_t * p, int nSizeNew );
225extern void Fraig_NodeVecClear( Fraig_NodeVec_t * p );
226extern void Fraig_NodeVecPush( Fraig_NodeVec_t * p, Fraig_Node_t * Entry );
228extern void Fraig_NodeVecPushOrder( Fraig_NodeVec_t * p, Fraig_Node_t * pNode );
233extern void Fraig_NodeVecRemove( Fraig_NodeVec_t * p, Fraig_Node_t * Entry );
234extern void Fraig_NodeVecWriteEntry( Fraig_NodeVec_t * p, int i, Fraig_Node_t * Entry );
236extern void Fraig_NodeVecSortByLevel( Fraig_NodeVec_t * p, int fIncreasing );
238
239/*=== fraigUtil.c ===============================================================*/
240extern void Fraig_ManMarkRealFanouts( Fraig_Man_t * p );
242extern int Fraig_GetMaxLevel( Fraig_Man_t * pMan );
243extern void Fraig_ManReportChoices( Fraig_Man_t * pMan );
244extern void Fraig_MappingSetChoiceLevels( Fraig_Man_t * pMan, int fMaximum );
245extern Fraig_NodeVec_t * Fraig_CollectSupergate( Fraig_Node_t * pNode, int fStopAtMux );
246
250
251
252
254
255
256
257#endif
#define ABC_NAMESPACE_HEADER_END
#define ABC_NAMESPACE_HEADER_START
NAMESPACES ///.
Cube * p
Definition exorList.c:222
void Fraig_NodeVecFree(Fraig_NodeVec_t *p)
Definition fraigVec.c:66
int Fraig_ManReadInspects(Fraig_Man_t *p)
Definition fraigApi.c:75
struct Fraig_PatternsStruct_t_ Fraig_Patterns_t
Definition fraig.h:45
int Fraig_NodeIsConst(Fraig_Node_t *p)
Definition fraigApi.c:151
void Fraig_ManSetFeedBack(Fraig_Man_t *p, int fFeedBack)
Definition fraigApi.c:89
Fraig_NodeVec_t * Fraig_CollectSupergate(Fraig_Node_t *pNode, int fStopAtMux)
Definition fraigUtil.c:960
Fraig_NodeVec_t * Fraig_DfsReverse(Fraig_Man_t *pMan)
void Fraig_NodeVecWriteEntry(Fraig_NodeVec_t *p, int i, Fraig_Node_t *Entry)
Definition fraigVec.c:370
void Fraig_ManProveMiter(Fraig_Man_t *p)
Definition fraigSat.c:85
int Fraig_ManReadSatFails(Fraig_Man_t *p)
Definition fraigApi.c:71
int Fraig_NodeVecReadSize(Fraig_NodeVec_t *p)
Definition fraigVec.c:121
void Fraig_ManMarkRealFanouts(Fraig_Man_t *p)
Definition fraigUtil.c:251
unsigned * Fraig_NodeReadPatternsRandom(Fraig_Node_t *p)
Definition fraigApi.c:121
void Fraig_ManSetPo(Fraig_Man_t *p, Fraig_Node_t *pNode)
Definition fraigApi.c:194
void Fraig_ManReportChoices(Fraig_Man_t *pMan)
Definition fraigUtil.c:520
int Fraig_ManReadPatternNumDynamicFiltered(Fraig_Man_t *p)
Definition fraigApi.c:69
void Fraig_ManFree(Fraig_Man_t *pMan)
Definition fraigMan.c:262
Fraig_Node_t * Fraig_ManReadIthNode(Fraig_Man_t *p, int i)
Definition fraigApi.c:53
int Fraig_NodeReadNumFanouts(Fraig_Node_t *p)
Definition fraigApi.c:116
int Fraig_NodeReadNumOnes(Fraig_Node_t *p)
Definition fraigApi.c:118
Fraig_NodeVec_t * Fraig_ManReadVecInputs(Fraig_Man_t *p)
FUNCTION DEFINITIONS ///.
Definition fraigApi.c:43
int Fraig_NodeComparePhase(Fraig_Node_t *p1, Fraig_Node_t *p2)
Definition fraigApi.c:154
int Fraig_ManCheckMiter(Fraig_Man_t *p)
Definition fraigSat.c:130
Fraig_NodeVec_t * Fraig_ManReadVecOutputs(Fraig_Man_t *p)
Definition fraigApi.c:44
Fraig_NodeVec_t * Fraig_ManGetSimInfo(Fraig_Man_t *p)
Definition fraigMan.c:417
int Fraig_ManReadNodeNum(Fraig_Man_t *p)
Definition fraigApi.c:51
void Fraig_NodeSetChoice(Fraig_Man_t *pMan, Fraig_Node_t *pNodeOld, Fraig_Node_t *pNodeNew)
Definition fraigApi.c:285
int Fraig_ManCheckClauseUsingSat(Fraig_Man_t *p, Fraig_Node_t *pNode1, Fraig_Node_t *pNode2, int nBTLimit)
Definition fraigSat.c:653
void Fraig_ManSetInputNames(Fraig_Man_t *p, char **ppNames)
Definition fraigApi.c:95
int Fraig_ManReadDoSparse(Fraig_Man_t *p)
Definition fraigApi.c:60
void Prove_ParamsSetDefault(Prove_Params_t *pParams)
FUNCTION DEFINITIONS ///.
Definition fraigMan.c:46
int Fraig_ManReadPatternNumRandom(Fraig_Man_t *p)
Definition fraigApi.c:65
Fraig_Man_t * Fraig_ManCreate(Fraig_Params_t *pParams)
Definition fraigMan.c:184
int Fraig_NodeVecPushUnique(Fraig_NodeVec_t *p, Fraig_Node_t *Entry)
Definition fraigVec.c:212
char * Fraig_ManReadVarsInt(Fraig_Man_t *p)
Definition fraigApi.c:56
int Fraig_ManReadFeedBack(Fraig_Man_t *p)
Definition fraigApi.c:59
Fraig_Node_t * Fraig_NodeReadData0(Fraig_Node_t *p)
Definition fraigApi.c:108
Fraig_Node_t * Fraig_NodeReadRepr(Fraig_Node_t *p)
Definition fraigApi.c:114
int Fraig_ManReadVerbose(Fraig_Man_t *p)
Definition fraigApi.c:62
void Fraig_ParamsSetDefault(Fraig_Params_t *pParams)
Definition fraigMan.c:122
int Fraig_ManReadInputNum(Fraig_Man_t *p)
Definition fraigApi.c:49
int Fraig_ManReadConflicts(Fraig_Man_t *p)
Definition fraigApi.c:73
char ** Fraig_ManReadOutputNames(Fraig_Man_t *p)
Definition fraigApi.c:55
char ** Fraig_ManReadInputNames(Fraig_Man_t *p)
Definition fraigApi.c:54
Fraig_Node_t * Fraig_NodeExor(Fraig_Man_t *p, Fraig_Node_t *p1, Fraig_Node_t *p2)
Definition fraigApi.c:244
int Fraig_NodesAreEqual(Fraig_Man_t *p, Fraig_Node_t *pNode1, Fraig_Node_t *pNode2, int nBTLimit, int nTimeLimit)
FUNCTION DEFINITIONS ///.
Definition fraigSat.c:65
void Fraig_ManSetVerbose(Fraig_Man_t *p, int fVerbose)
Definition fraigApi.c:93
Fraig_Node_t * Fraig_NodeOr(Fraig_Man_t *p, Fraig_Node_t *p1, Fraig_Node_t *p2)
Definition fraigApi.c:228
struct Fraig_NodeVecStruct_t_ Fraig_NodeVec_t
Definition fraig.h:42
Fraig_Node_t ** Fraig_ManReadInputs(Fraig_Man_t *p)
Definition fraigApi.c:46
int Fraig_NodeReadNumRefs(Fraig_Node_t *p)
Definition fraigApi.c:115
int Fraig_ManCheckConsistency(Fraig_Man_t *p)
Definition fraigUtil.c:312
void Fraig_NodeVecClear(Fraig_NodeVec_t *p)
Definition fraigVec.c:173
void Fraig_ManSetDoSparse(Fraig_Man_t *p, int fDoSparse)
Definition fraigApi.c:90
void Fraig_ParamsSetDefaultFull(Fraig_Params_t *pParams)
Definition fraigMan.c:153
Fraig_Node_t * Fraig_NodeReadOne(Fraig_Node_t *p)
Definition fraigApi.c:111
int Fraig_NodeIsAnd(Fraig_Node_t *p)
Definition fraigApi.c:153
Fraig_Node_t ** Fraig_NodeVecReadArray(Fraig_NodeVec_t *p)
Definition fraigVec.c:105
void Fraig_ManSetOutputNames(Fraig_Man_t *p, char **ppNames)
Definition fraigApi.c:94
int Fraig_ManReadChoicing(Fraig_Man_t *p)
Definition fraigApi.c:61
int Fraig_NodeVecPushUniqueOrderByLevel(Fraig_NodeVec_t *p, Fraig_Node_t *pNode)
Definition fraigVec.c:310
void Fraig_NodeVecShrink(Fraig_NodeVec_t *p, int nSizeNew)
Definition fraigVec.c:156
void Fraig_NodeVecSortByNumber(Fraig_NodeVec_t *p)
Definition fraigVec.c:522
int Fraig_ManReadPatternNumDynamic(Fraig_Man_t *p)
Definition fraigApi.c:67
int Fraig_GetMaxLevel(Fraig_Man_t *pMan)
Definition fraigUtil.c:428
Fraig_Node_t * Fraig_ManReadConst1(Fraig_Man_t *p)
Definition fraigApi.c:52
Fraig_Node_t * Fraig_NodeVecPop(Fraig_NodeVec_t *p)
Definition fraigVec.c:331
int Fraig_NodeReadSimInv(Fraig_Node_t *p)
Definition fraigApi.c:117
void Fraig_NodeVecSortByLevel(Fraig_NodeVec_t *p, int fIncreasing)
Definition fraigVec.c:501
int Fraig_CountNodes(Fraig_Man_t *pMan, int fEquiv)
Definition fraigUtil.c:152
int * Fraig_ManReadModel(Fraig_Man_t *p)
Definition fraigApi.c:63
void Fraig_ManAddClause(Fraig_Man_t *p, Fraig_Node_t **ppNodes, int nNodes)
Definition fraigMan.c:521
void Fraig_NodeSetData1(Fraig_Node_t *p, Fraig_Node_t *pData)
Definition fraigApi.c:138
Fraig_NodeVec_t * Fraig_NodeVecDup(Fraig_NodeVec_t *p)
Definition fraigVec.c:83
void Fraig_ManSetTryProve(Fraig_Man_t *p, int fTryProve)
Definition fraigApi.c:92
Fraig_NodeVec_t * Fraig_ManReadVecNodes(Fraig_Man_t *p)
Definition fraigApi.c:45
typedefABC_NAMESPACE_HEADER_START struct Fraig_ManStruct_t_ Fraig_Man_t
INCLUDES ///.
Definition fraig.h:40
void Fraig_NodeVecPushOrderByLevel(Fraig_NodeVec_t *p, Fraig_Node_t *pNode)
Definition fraigVec.c:282
Fraig_NodeVec_t * Fraig_NodeVecAlloc(int nCap)
DECLARATIONS ///.
Definition fraigVec.c:43
unsigned * Fraig_NodeReadPatternsDynamic(Fraig_Node_t *p)
Definition fraigApi.c:124
Fraig_Node_t * Fraig_ManReadIthVar(Fraig_Man_t *p, int i)
Definition fraigApi.c:168
int Fraig_ManReadFuncRed(Fraig_Man_t *p)
Definition fraigApi.c:58
Fraig_Node_t ** Fraig_ManReadNodes(Fraig_Man_t *p)
Definition fraigApi.c:48
int Fraig_NodeIsEquivalent(Fraig_Man_t *p, Fraig_Node_t *pOld, Fraig_Node_t *pNew, int nBTLimit, int nTimeLimit)
Definition fraigSat.c:302
struct Fraig_NodeStruct_t_ Fraig_Node_t
Definition fraig.h:41
int Fraig_CountLevels(Fraig_Man_t *pMan)
struct Fraig_HashTableStruct_t_ Fraig_HashTable_t
Definition fraig.h:43
void Fraig_ManSetChoicing(Fraig_Man_t *p, int fChoicing)
Definition fraigApi.c:91
void Fraig_NodeVecPush(Fraig_NodeVec_t *p, Fraig_Node_t *Entry)
Definition fraigVec.c:189
void Fraig_ManPrintStats(Fraig_Man_t *p)
Definition fraigMan.c:351
Fraig_NodeVec_t * Fraig_DfsOne(Fraig_Man_t *pMan, Fraig_Node_t *pNode, int fEquiv)
Definition fraigUtil.c:80
Fraig_Node_t * Fraig_NodeReadNextE(Fraig_Node_t *p)
Definition fraigApi.c:113
void Fraig_NodeVecRemove(Fraig_NodeVec_t *p, Fraig_Node_t *Entry)
Definition fraigVec.c:347
Fraig_Node_t * Fraig_NodeMux(Fraig_Man_t *p, Fraig_Node_t *pNode, Fraig_Node_t *pNodeT, Fraig_Node_t *pNodeE)
Definition fraigApi.c:260
Fraig_Node_t * Fraig_NodeReadData1(Fraig_Node_t *p)
Definition fraigApi.c:109
Fraig_NodeVec_t * Fraig_DfsNodes(Fraig_Man_t *pMan, Fraig_Node_t **ppNodes, int nNodes, int fEquiv)
Definition fraigUtil.c:100
int Fraig_CheckTfi(Fraig_Man_t *pMan, Fraig_Node_t *pOld, Fraig_Node_t *pNew)
Definition fraigUtil.c:173
Fraig_Node_t * Fraig_NodeReadTwo(Fraig_Node_t *p)
Definition fraigApi.c:112
void Fraig_ManSetFuncRed(Fraig_Man_t *p, int fFuncRed)
Definition fraigApi.c:88
int Fraig_NodeReadNum(Fraig_Node_t *p)
Definition fraigApi.c:110
void Fraig_MappingSetChoiceLevels(Fraig_Man_t *pMan, int fMaximum)
Definition fraigUtil.c:499
struct Fraig_ParamsStruct_t_ Fraig_Params_t
Definition fraig.h:44
void Fraig_NodeVecPushOrder(Fraig_NodeVec_t *p, Fraig_Node_t *pNode)
Definition fraigVec.c:233
Fraig_Node_t * Fraig_NodeAnd(Fraig_Man_t *p, Fraig_Node_t *p1, Fraig_Node_t *p2)
Definition fraigApi.c:212
int Fraig_ManReadOutputNum(Fraig_Man_t *p)
Definition fraigApi.c:50
int Fraig_ManCheckClauseUsingSimInfo(Fraig_Man_t *p, Fraig_Node_t *pNode1, Fraig_Node_t *pNode2)
Definition fraigMan.c:454
Fraig_Node_t * Fraig_NodeVecReadEntry(Fraig_NodeVec_t *p, int i)
Definition fraigVec.c:387
char * Fraig_ManReadSat(Fraig_Man_t *p)
Definition fraigApi.c:57
Fraig_Node_t ** Fraig_ManReadOutputs(Fraig_Man_t *p)
Definition fraigApi.c:47
void Fraig_NodeVecGrow(Fraig_NodeVec_t *p, int nCapMin)
Definition fraigVec.c:137
int Fraig_NodeIsVar(Fraig_Node_t *p)
Definition fraigApi.c:152
int Fraig_NodeVecPushUniqueOrder(Fraig_NodeVec_t *p, Fraig_Node_t *pNode)
Definition fraigVec.c:261
Fraig_NodeVec_t * Fraig_Dfs(Fraig_Man_t *pMan, int fEquiv)
FUNCTION DEFINITIONS ///.
Definition fraigUtil.c:58
void Fraig_NodeSetData0(Fraig_Node_t *p, Fraig_Node_t *pData)
Definition fraigApi.c:137
struct Prove_ParamsStruct_t_ Prove_Params_t
Definition ivyFraig.c:108
ABC_INT64_T nInspLimit
Definition fraig.h:64
ABC_INT64_T nTotalBacktracksMade
Definition ivyFraig.c:136
ABC_INT64_T nTotalInspectsMade
Definition ivyFraig.c:137
ABC_INT64_T nTotalBacktrackLimit
Definition ivyFraig.c:133
ABC_INT64_T nTotalInspectLimit
Definition ivyFraig.c:134