172 int i,
Counter, LevelNew, LevelOld;
189 if ( pAnd0 && pAnd1 )
208 LevelNew = 1 +
Abc_MaxInt( pNode0->Level, pNode1->Level );
220 if ( LevelNew > LevelMax )
223 pNode->
Level = LevelNew;
245 int nNodesNew, nNodesOld;
253 assert( nGain <= nNodesOld - nNodesNew );
typedefABC_NAMESPACE_HEADER_START struct Vec_Ptr_t_ Vec_Ptr_t
INCLUDES ///.
ABC_DLL Abc_Obj_t * Abc_AigAndLookup(Abc_Aig_t *pMan, Abc_Obj_t *p0, Abc_Obj_t *p1)
static Ivy_Obj_t * Ivy_ManConst1(Ivy_Man_t *p)
static Hop_Obj_t * Hop_ManConst1(Hop_Man_t *p)
ABC_DLL Abc_Obj_t * Abc_AigConst1(Abc_Ntk_t *pNtk)
Hop_Obj_t * Hop_And(Hop_Man_t *p, Hop_Obj_t *p0, Hop_Obj_t *p1)
void Dec_GraphUpdateNetwork(Abc_Obj_t *pRoot, Dec_Graph_t *pGraph, int fUpdateLevel, int nGain)
static int Dec_GraphIsConst(Dec_Graph_t *pGraph)
Dec_Graph_t * Dec_Factor(char *pSop)
FUNCTION DECLARATIONS ///.
int Dec_GraphToNetworkCount(Abc_Obj_t *pRoot, Dec_Graph_t *pGraph, int NodeMax, int LevelMax)
static int Abc_MaxInt(int a, int b)
ABC_DLL void Abc_ObjAddFanin(Abc_Obj_t *pObj, Abc_Obj_t *pFanin)
Abc_Obj_t * Dec_GraphToNetworkNoStrash(Abc_Ntk_t *pNtk, Dec_Graph_t *pGraph)
static int Dec_GraphIsComplement(Dec_Graph_t *pGraph)
static int Abc_NtkNodeNum(Abc_Ntk_t *pNtk)
ABC_DLL Abc_Obj_t * Abc_AigAnd(Abc_Aig_t *pMan, Abc_Obj_t *p0, Abc_Obj_t *p1)
static Dec_Node_t * Dec_GraphVar(Dec_Graph_t *pGraph)
Abc_Obj_t * Dec_GraphToAig(Abc_Ntk_t *pNtk, Dec_Graph_t *pFForm, Vec_Ptr_t *vFaninAigs)
Hop_Obj_t * Dec_GraphFactorSop(Hop_Man_t *pMan, char *pSop)
#define ABC_NAMESPACE_IMPL_END
Abc_Obj_t * Dec_SopToAig(Abc_Ntk_t *pNtk, char *pSop, Vec_Ptr_t *vFaninAigs)
Ivy_Obj_t * Dec_GraphToNetworkIvy(Ivy_Man_t *pMan, Dec_Graph_t *pGraph)
typedefABC_NAMESPACE_HEADER_START struct Ivy_Man_t_ Ivy_Man_t
INCLUDES ///.
#define ABC_NAMESPACE_IMPL_START
#define Dec_GraphForEachNode(pGraph, pAnd, i)
static void * Vec_PtrEntry(Vec_Ptr_t *p, int i)
static int Abc_NodeIsTravIdCurrent(Abc_Obj_t *p)
static Abc_Obj_t * Abc_ObjRegular(Abc_Obj_t *p)
ABC_NAMESPACE_IMPL_START Abc_Obj_t * Dec_GraphToNetwork(Abc_Ntk_t *pNtk, Dec_Graph_t *pGraph)
DECLARATIONS ///.
#define Dec_GraphForEachLeaf(pGraph, pLeaf, i)
ITERATORS ///.
static Hop_Obj_t * Hop_NotCond(Hop_Obj_t *p, int c)
static Ivy_Obj_t * Ivy_NotCond(Ivy_Obj_t *p, int c)
static Abc_Obj_t * Abc_NtkCreateNode(Abc_Ntk_t *pNtk)
static void Dec_GraphFree(Dec_Graph_t *pGraph)
static int Dec_GraphIsVar(Dec_Graph_t *pGraph)
static Abc_Obj_t * Abc_ObjNotCond(Abc_Obj_t *p, int c)
static Dec_Node_t * Dec_GraphNode(Dec_Graph_t *pGraph, int i)
typedefABC_NAMESPACE_HEADER_START struct Hop_Man_t_ Hop_Man_t
INCLUDES ///.
Hop_Obj_t * Hop_IthVar(Hop_Man_t *p, int i)
FUNCTION DEFINITIONS ///.
Hop_Obj_t * Dec_GraphToNetworkAig(Hop_Man_t *pMan, Dec_Graph_t *pGraph)
Ivy_Obj_t * Ivy_And(Ivy_Man_t *p, Ivy_Obj_t *p0, Ivy_Obj_t *p1)
ABC_DLL void Abc_AigReplace(Abc_Aig_t *pMan, Abc_Obj_t *pOld, Abc_Obj_t *pNew, int fUpdateLevel)