33 if ( !Hop_IsComplement(p0) || !Hop_IsComplement(p1) )
37 if ( !Hop_ObjIsAnd(p0) || !Hop_ObjIsAnd(p1) )
39 if ( Hop_ObjFanin0(p0) != Hop_ObjFanin0(p1) || Hop_ObjFanin1(p0) != Hop_ObjFanin1(p1) )
41 if ( Hop_ObjFaninC0(p0) == Hop_ObjFaninC0(p1) || Hop_ObjFaninC1(p0) == Hop_ObjFaninC1(p1) )
43 *ppFan0 = Hop_ObjChild0(p0);
44 *ppFan1 = Hop_ObjChild1(p0);
66 for ( v = Hop_ManPiNum(
p); v <= i; v++ )
68 assert( i < Vec_PtrSize(
p->vPis) );
69 return Hop_ManPi(
p, i );
111 if ( p0 == Hop_Not(p1) )
112 return Hop_Not(
p->pConst1);
113 if ( Hop_Regular(p0) ==
p->pConst1 )
114 return p0 ==
p->pConst1 ? p1 : Hop_Not(
p->pConst1);
115 if ( Hop_Regular(p1) ==
p->pConst1 )
116 return p1 ==
p->pConst1 ? p0 : Hop_Not(
p->pConst1);
121 pGhost = Hop_ObjCreateGhost(
p, p0, p1,
AIG_AND );
173 return Hop_Not(
Hop_And(
p, Hop_Not(p0), Hop_Not(p1) ) );
244 return Hop_Or(
p,
Hop_Or(
p,
Hop_And(
p, pA, pB),
Hop_And(
p, pA, pC)),
Hop_And(
p, pB, pC) );
264 pObj2 =
Hop_Multi_rec(
p, ppObjs + nObjs/2, nObjs - nObjs/2, Type );
265 return Hop_Oper(
p, pObj1, pObj2, Type );
300 assert( vPairs->nSize > 0 );
301 assert( vPairs->nSize % 2 == 0 );
303 for ( i = 0; i < vPairs->nSize; i += 2 )
305 vPairs->nSize = vPairs->nSize/2;
324 pFunc = Hop_ManConst1(
p );
325 for ( i = 0; i < nVars; i++ )
345 pFunc = Hop_ManConst0(
p );
346 for ( i = 0; i < nVars; i++ )
366 pFunc = Hop_ManConst0(
p );
367 for ( i = 0; i < nVars; i++ )
#define ABC_NAMESPACE_IMPL_START
#define ABC_NAMESPACE_IMPL_END
Hop_Obj_t * Hop_Multi(Hop_Man_t *p, Hop_Obj_t **pArgs, int nArgs, Hop_Type_t Type)
Hop_Obj_t * Hop_CreateOr(Hop_Man_t *p, int nVars)
Hop_Obj_t * Hop_CreateAnd(Hop_Man_t *p, int nVars)
Hop_Obj_t * Hop_IthVar(Hop_Man_t *p, int i)
FUNCTION DEFINITIONS ///.
Hop_Obj_t * Hop_Maj(Hop_Man_t *p, Hop_Obj_t *pA, Hop_Obj_t *pB, Hop_Obj_t *pC)
Hop_Obj_t * Hop_Exor(Hop_Man_t *p, Hop_Obj_t *p0, Hop_Obj_t *p1)
Hop_Obj_t * Hop_CreateExor(Hop_Man_t *p, int nVars)
Hop_Obj_t * Hop_Miter(Hop_Man_t *p, Vec_Ptr_t *vPairs)
Hop_Obj_t * Hop_Oper(Hop_Man_t *p, Hop_Obj_t *p0, Hop_Obj_t *p1, Hop_Type_t Type)
Hop_Obj_t * Hop_And(Hop_Man_t *p, Hop_Obj_t *p0, Hop_Obj_t *p1)
Hop_Obj_t * Hop_Or(Hop_Man_t *p, Hop_Obj_t *p0, Hop_Obj_t *p1)
Hop_Obj_t * Hop_Mux(Hop_Man_t *p, Hop_Obj_t *pC, Hop_Obj_t *p1, Hop_Obj_t *p0)
Hop_Obj_t * Hop_Multi_rec(Hop_Man_t *p, Hop_Obj_t **ppObjs, int nObjs, Hop_Type_t Type)
typedefABC_NAMESPACE_HEADER_START struct Hop_Man_t_ Hop_Man_t
INCLUDES ///.
Hop_Obj_t * Hop_ObjCreate(Hop_Man_t *p, Hop_Obj_t *pGhost)
Hop_Obj_t * Hop_TableLookup(Hop_Man_t *p, Hop_Obj_t *pGhost)
FUNCTION DEFINITIONS ///.
Hop_Obj_t * Hop_ObjCreatePi(Hop_Man_t *p)
DECLARATIONS ///.
struct Hop_Obj_t_ Hop_Obj_t
typedefABC_NAMESPACE_HEADER_START struct Vec_Ptr_t_ Vec_Ptr_t
INCLUDES ///.