51 pGraph->
nSize = nLeaves;
52 pGraph->
nCap = 2 * nLeaves + 50;
113 assert( 0 <= iLeaf && iLeaf < nLeaves );
308 unsigned uTruths[5] = { 0xAAAAAAAA, 0xCCCCCCCC, 0xF0F0F0F0, 0xFF00FF00, 0xFFFF0000 };
309 unsigned uTruth = 0, uTruth0, uTruth1;
327 pNode->
pFunc = (
void *)(
long)uTruths[i];
336 uTruth = uTruth0 & uTruth1;
337 pNode->
pFunc = (
void *)(
long)uTruth;
361 if ( RetValue == -1 )
366 assert( RetValue == 0 || RetValue == 1 );
385 int Depth0, Depth1,
Depth;
386 if ( pNode == pLeaf )
392 Depth =
KIT_MAX( Depth0, Depth1 );
393 Depth = (Depth == -100) ? -100 : Depth + 1;
typedefABC_NAMESPACE_IMPL_START struct Vec_Int_t_ Vec_Int_t
DECLARATIONS ///.
static Kit_Node_t * Kit_GraphNode(Kit_Graph_t *pGraph, int i)
#define ABC_REALLOC(type, obj, num)
static int Kit_GraphIsComplement(Kit_Graph_t *pGraph)
Kit_Edge_t Kit_GraphAddNodeXor(Kit_Graph_t *pGraph, Kit_Edge_t eEdge0, Kit_Edge_t eEdge1, int Type)
static int Kit_GraphLeaveNum(Kit_Graph_t *pGraph)
static Kit_Edge_t Kit_EdgeCreate(int Node, int fCompl)
#define ABC_ALLOC(type, num)
static int Kit_GraphIsVar(Kit_Graph_t *pGraph)
#define Kit_GraphForEachLeaf(pGraph, pLeaf, i)
static int Kit_GraphIsConst(Kit_Graph_t *pGraph)
Kit_Graph_t * Kit_GraphCreateConst1()
int Kit_GraphLeafDepth_rec(Kit_Graph_t *pGraph, Kit_Node_t *pNode, Kit_Node_t *pLeaf)
Kit_Edge_t Kit_GraphAddNodeOr(Kit_Graph_t *pGraph, Kit_Edge_t eEdge0, Kit_Edge_t eEdge1)
Kit_Graph_t * Kit_GraphCreateLeaf(int iLeaf, int nLeaves, int fCompl)
Kit_Graph_t * Kit_TruthToGraph(unsigned *pTruth, int nVars, Vec_Int_t *vMemory)
static Kit_Node_t * Kit_GraphNodeFanin0(Kit_Graph_t *pGraph, Kit_Node_t *pNode)
int Kit_TruthIsop(unsigned *puTruth, int nVars, Vec_Int_t *vMemory, int fTryBoth)
FUNCTION DEFINITIONS ///.
Kit_Edge_t Kit_GraphAddNodeMux(Kit_Graph_t *pGraph, Kit_Edge_t eEdgeC, Kit_Edge_t eEdgeT, Kit_Edge_t eEdgeE, int Type)
unsigned Kit_GraphToTruth(Kit_Graph_t *pGraph)
#define Kit_GraphForEachNode(pGraph, pAnd, i)
#define ABC_NAMESPACE_IMPL_END
static int Kit_GraphNodeIsVar(Kit_Graph_t *pGraph, Kit_Node_t *pNode)
void Kit_GraphFree(Kit_Graph_t *pGraph)
#define ABC_NAMESPACE_IMPL_START
Kit_Graph_t * Kit_GraphCreateConst0()
static int Vec_IntSize(Vec_Int_t *p)
Kit_Edge_t Kit_GraphAddNodeAnd(Kit_Graph_t *pGraph, Kit_Edge_t eEdge0, Kit_Edge_t eEdge1)
Kit_Node_t * Kit_GraphAppendNode(Kit_Graph_t *pGraph)
static int Kit_GraphVarInt(Kit_Graph_t *pGraph)
static Kit_Node_t * Kit_GraphNodeFanin1(Kit_Graph_t *pGraph, Kit_Node_t *pNode)
Kit_Graph_t * Kit_SopFactor(Vec_Int_t *vCover, int fCompl, int nVars, Vec_Int_t *vMemory)
FUNCTION DEFINITIONS ///.
ABC_NAMESPACE_IMPL_START Kit_Graph_t * Kit_GraphCreate(int nLeaves)
DECLARATIONS ///.