95 printf(
"CUT: Delay = (%4.2f, %4.2f). Area = %4.2f. Nodes = %d -> {",
97 for ( i = 0; i < pCut->
nLeaves; i++ )
134 return (( pCut->
M[fPhase].
uPhaseBest & (1<<iLeaf) ) == 0);
169 if ( pSetAll == NULL )
174 for ( pTemp = pSets; pTemp; pTemp = pTemp->
pNext )
178 pPrev->
pNext = pSetAll;
196 for ( pTemp = pSetList, pNext = pTemp? pTemp->
pNext : NULL;
198 pTemp = pNext, pNext = pNext? pNext->
pNext : NULL )
199 if ( pTemp != pSave )
218 for ( i = 0, pTemp = pSets; pTemp; pTemp = pTemp->
pNext, i++ );
235 if ( pObj->
TravId == pObj->
p->nTravIds )
237 pObj->
TravId = pObj->
p->nTravIds;
240 Vec_PtrPush( vAnds, pObj );
247 for ( i = 0; i < pCut->
nLeaves; i++ )
252 printf(
"Leaves:\n" );
253 for ( i = 0; i < pCut->
nLeaves; i++ )
256 printf(
"Nodes:\n" );
258 printf(
"%d = %s%d & %s%d\n", pTemp->
Num,
284 for ( i = 0; i < pCut->
nLeaves; i++ )
286 vFanouts = pCut->
ppLeaves[i]->vFanouts;
287 for ( k = 0; k < vFanouts->
nSize; k++ )
288 if ( vFanouts->
pArray[k] == pNode )
291 for ( k++; k < vFanouts->
nSize; k++ )
311 for ( i = 0; i < pCut->
nLeaves; i++ )
#define ABC_NAMESPACE_IMPL_START
#define ABC_NAMESPACE_IMPL_END
Map_Cut_t * Map_CutListAppend(Map_Cut_t *pSetAll, Map_Cut_t *pSets)
ABC_NAMESPACE_IMPL_START Map_Cut_t * Map_CutAlloc(Map_Man_t *p)
DECLARATIONS ///.
void Map_CutPrint(Map_Man_t *p, Map_Node_t *pRoot, Map_Cut_t *pCut, int fPhase)
int Map_CutGetLeafPhase(Map_Cut_t *pCut, int fPhase, int iLeaf)
int Map_NodeGetLeafPhase(Map_Node_t *pNode, int fPhase, int iLeaf)
void Map_CutFree(Map_Man_t *p, Map_Cut_t *pCut)
int Map_CutListCount(Map_Cut_t *pSets)
void Map_CutListRecycle(Map_Man_t *p, Map_Cut_t *pSetList, Map_Cut_t *pSave)
void Map_CutInternalNodes_rec(Map_Node_t *pObj, Vec_Ptr_t *vAnds)
Vec_Ptr_t * Map_CutInternalNodes(Map_Node_t *pObj, Map_Cut_t *pCut)
float Map_CutGetRootArea(Map_Cut_t *pCut, int fPhase)
void Map_CutInsertFanouts(Map_Node_t *pNode, Map_Cut_t *pCut, int fPhase)
void Map_CutRemoveFanouts(Map_Node_t *pNode, Map_Cut_t *pCut, int fPhase)
void Map_NodeVecPush(Map_NodeVec_t *p, Map_Node_t *Entry)
typedefABC_NAMESPACE_HEADER_START struct Map_ManStruct_t_ Map_Man_t
INCLUDES ///.
struct Map_MatchStruct_t_ Map_Match_t
struct Map_CutStruct_t_ Map_Cut_t
#define Map_IsComplement(p)
GLOBAL VARIABLES ///.
struct Map_NodeVecStruct_t_ Map_NodeVec_t
struct Map_NodeStruct_t_ Map_Node_t
typedefABC_NAMESPACE_HEADER_START struct Vec_Ptr_t_ Vec_Ptr_t
INCLUDES ///.
#define Vec_PtrForEachEntry(Type, vVec, pEntry, i)
MACRO DEFINITIONS ///.