45static inline void Cut_NodeShiftCutLeaves(
Cut_Cut_t * pList,
int nLat )
53 for ( i = 0; i < (int)pTemp->
nLeaves; i++ )
80 if (
p->nNodeCuts >=
p->pParams->nKeepMax )
84 if (
p->nNodeCuts == 0 )
94 if ( Node == Node0 || Node == Node1 || Node0 == Node1 )
103 if ( nLat0 ) Cut_NodeShiftCutLeaves(
p->pStore0[0], nLat0 );
104 if ( nLat0 ) Cut_NodeShiftCutLeaves(
p->pStore0[1], nLat0 );
105 if ( nLat1 ) Cut_NodeShiftCutLeaves(
p->pStore1[0], nLat1 );
106 if ( nLat1 ) Cut_NodeShiftCutLeaves(
p->pStore1[1], nLat1 );
114 Cut_ListStart( pSuper );
118 pListNew = Cut_ListFinish( pSuper );
119p->timeMerge += Abc_Clock() - clk;
122 if ( Node == Node0 || Node == Node1 || Node0 == Node1 )
131 if ( nLat0 ) Cut_NodeShiftCutLeaves(
p->pStore0[0], -nLat0 );
132 if ( nLat0 ) Cut_NodeShiftCutLeaves(
p->pStore0[1], -nLat0 );
133 if ( nLat1 ) Cut_NodeShiftCutLeaves(
p->pStore1[0], -nLat1 );
134 if ( nLat1 ) Cut_NodeShiftCutLeaves(
p->pStore1[1], -nLat1 );
138 if ( CutSetNum >= 0 )
150 if (
p->nNodeCuts >=
p->pParams->nKeepMax )
167 Cut_Cut_t * pListOld, * pListNew, * pList;
170 if ( pListNew == NULL )
175 if ( pListOld == NULL )
203 return pList != NULL;
#define ABC_NAMESPACE_IMPL_START
#define ABC_NAMESPACE_IMPL_END
void Cut_CutRecycleList(Cut_Man_t *p, Cut_Cut_t *pList)
Cut_Cut_t * Cut_CutDupList(Cut_Man_t *p, Cut_Cut_t *pList)
Cut_Cut_t * Cut_CutMergeLists(Cut_Cut_t *pList1, Cut_Cut_t *pList2)
#define Cut_ListForEachCut(pList, pCut)
void Cut_NodeDoComputeCuts(Cut_Man_t *p, Cut_List_t *pSuper, int Node, int fCompl0, int fCompl1, Cut_Cut_t *pList0, Cut_Cut_t *pList1, int fTriv, int TreeCode)
typedefABC_NAMESPACE_HEADER_START struct Cut_ListStruct_t_ Cut_List_t
INCLUDES ///.
int Cut_NodeTempTransferToNew(Cut_Man_t *p, int Node, int CutSetNum)
void Cut_NodeComputeCutsSeq(Cut_Man_t *p, int Node, int Node0, int Node1, int fCompl0, int fCompl1, int nLat0, int nLat1, int fTriv, int CutSetNum)
void Cut_NodeNewMergeWithOld(Cut_Man_t *p, int Node)
void Cut_NodeOldTransferToNew(Cut_Man_t *p, int Node)
Cut_Cut_t * Cut_NodeReadCutsOld(Cut_Man_t *p, int Node)
int Cut_CutCountList(Cut_Cut_t *pList)
void Cut_NodeWriteCutsTemp(Cut_Man_t *p, int Node, Cut_Cut_t *pList)
void Cut_NodeWriteCutsOld(Cut_Man_t *p, int Node, Cut_Cut_t *pList)
void Cut_NodeWriteCutsNew(Cut_Man_t *p, int Node, Cut_Cut_t *pList)
struct Cut_ManStruct_t_ Cut_Man_t
BASIC TYPES ///.
Cut_Cut_t * Cut_NodeReadCutsNew(Cut_Man_t *p, int Node)
MACRO DEFINITIONS ///.
struct Cut_CutStruct_t_ Cut_Cut_t
Cut_Cut_t * Cut_NodeReadCutsTemp(Cut_Man_t *p, int Node)