51 if ( Kit_GraphIsConst(pGraph) )
52 return If_ManConst1(pIfMan);
54 if ( Kit_GraphIsVar(pGraph) )
55 return (
If_Obj_t *)Kit_GraphVar(pGraph)->pFunc;
62 If_NotCond( If_Regular(pAnd0), If_IsComplement(pAnd0) ^ pNode->
eEdge0.
fCompl ),
63 If_NotCond( If_Regular(pAnd1), If_IsComplement(pAnd1) ^ pNode->
eEdge1.
fCompl ) );
113 If_Obj_t * pObjNew = NULL, * pObjNew2 = NULL, * pFansNew[16];
114 unsigned i, iLitFanin;
119 pObj = Kit_DsdNtkObj( pNtk, Abc_Lit2Var(iLit) );
122 pObjNew = ppLeaves[Abc_Lit2Var(iLit)];
123 return If_NotCond( pObjNew, Abc_LitIsCompl(iLit) );
127 return If_NotCond( If_ManConst1(
p->pIfMan), Abc_LitIsCompl(iLit) );
131 pObjNew = ppLeaves[Abc_Lit2Var(pObj->
pFans[0])];
132 return If_NotCond( pObjNew, Abc_LitIsCompl(iLit) ^ Abc_LitIsCompl(pObj->
pFans[0]) );
139 if ( pFansNew[0] == NULL || pFansNew[1] == NULL )
142 return If_NotCond( pObjNew, Abc_LitIsCompl(iLit) );
146 int fCompl = Abc_LitIsCompl(iLit);
150 if ( pFansNew[0] == NULL || pFansNew[1] == NULL )
152 fCompl ^= If_IsComplement(pFansNew[0]) ^ If_IsComplement(pFansNew[1]);
153 pObjNew =
If_ManCreateXor(
p->pIfMan, If_Regular(pFansNew[0]), If_Regular(pFansNew[1]) );
154 return If_NotCond( pObjNew, fCompl );
157 p->nBlocks[pObj->
nFans]++;
163 pFansNew[i] = pResult? pResult :
Lpk_MapTree_rec(
p, pNtk, ppLeaves, iLitFanin, NULL );
166 if ( pFansNew[i] == NULL )
186 if (
p->pPars->nVarsShared > 0 && (
int)pObj->
nFans >
p->pPars->nLutSize )
190 return If_NotCond( pObjNew2, Abc_LitIsCompl(iLit) );
196 if ( pObjNew && pObjNew2 )
198 If_ObjSetChoice( If_Regular(pObjNew), If_Regular(pObjNew2) );
201 return If_NotCond( pObjNew, Abc_LitIsCompl(iLit) );