52 if ( Aig_ObjFanin0(pObj) || Aig_ObjFanin1(pObj) )
54 printf(
"Aig_ManCheck: The PI node \"%p\" has fanins.\n", pObj );
61 if ( !Aig_ObjFanin0(pObj) )
63 printf(
"Aig_ManCheck: The PO node \"%p\" has NULL fanin.\n", pObj );
66 if ( Aig_ObjFanin1(pObj) )
68 printf(
"Aig_ManCheck: The PO node \"%p\" has second fanin.\n", pObj );
75 if ( !Aig_ObjIsNode(pObj) )
77 if ( !Aig_ObjFanin0(pObj) || !Aig_ObjFanin1(pObj) )
79 printf(
"Aig_ManCheck: The AIG has internal node \"%p\" with a NULL fanin.\n", pObj );
82 if ( Aig_ObjFanin0(pObj)->Id >= Aig_ObjFanin1(pObj)->Id )
84 printf(
"Aig_ManCheck: The AIG has node \"%p\" with a wrong ordering of fanins.\n", pObj );
90 printf(
"Aig_ManCheck: Node \"%p\" is not in the structural hashing table.\n", pObj );
95 if ( Aig_ManObjNum(
p) != 1 + Aig_ManCiNum(
p) + Aig_ManCoNum(
p) +
96 Aig_ManBufNum(
p) + Aig_ManAndNum(
p) + Aig_ManExorNum(
p) )
98 printf(
"Aig_ManCheck: The number of created nodes is wrong.\n" );
99 printf(
"C1 = %d. Pi = %d. Po = %d. Buf = %d. And = %d. Xor = %d. Total = %d.\n",
100 1, Aig_ManCiNum(
p), Aig_ManCoNum(
p), Aig_ManBufNum(
p), Aig_ManAndNum(
p), Aig_ManExorNum(
p),
101 1 + Aig_ManCiNum(
p) + Aig_ManCoNum(
p) + Aig_ManBufNum(
p) + Aig_ManAndNum(
p) + Aig_ManExorNum(
p) );
102 printf(
"Created = %d. Deleted = %d. Existing = %d.\n",
103 Aig_ManObjNumMax(
p),
p->nDeleted, Aig_ManObjNum(
p) );
109 printf(
"Aig_ManCheck: The number of nodes in the structural hashing table is wrong.\n" );
110 printf(
"Entries = %d. And = %d. Xor = %d. Total = %d.\n",
112 Aig_ManAndNum(
p) + Aig_ManExorNum(
p) );
156 if ( Aig_ObjIsCi(pObj) )
159 assert( (
int)pObj->
fPhase == (Aig_ObjPhaseReal(Aig_ObjChild0(pObj)) & Aig_ObjPhaseReal(Aig_ObjChild1(pObj))) );
#define ABC_NAMESPACE_IMPL_START
#define ABC_NAMESPACE_IMPL_END
ABC_NAMESPACE_IMPL_START int Aig_ManCheck(Aig_Man_t *p)
DECLARATIONS ///.
void Aig_ManCheckPhase(Aig_Man_t *p)
void Aig_ManCheckMarkA(Aig_Man_t *p)
#define Aig_ManForEachObj(p, pObj, i)
#define Aig_ManForEachCi(p, pObj, i)
ITERATORS ///.
struct Aig_Obj_t_ Aig_Obj_t
typedefABC_NAMESPACE_HEADER_START struct Aig_Man_t_ Aig_Man_t
INCLUDES ///.
#define Aig_ManForEachCo(p, pObj, i)
Aig_Obj_t * Aig_TableLookup(Aig_Man_t *p, Aig_Obj_t *pGhost)
int Aig_TableCountEntries(Aig_Man_t *p)