63 if ( iDomNext == iDom1 )
71 if ( iDomNext == iDom0 )
86 if ( p->
vDoms == NULL )
166 int ConeSize1, ConeSize2, i, iObj;
176 assert( ConeSize1 == ConeSize2 );
208 int nMints = 1 << nVars;
210 assert( nVars >= 0 && nVars <= 5 );
218 for ( m = 0; m < nMints; m++ )
225 pObj->
Value = (m >> i) & 1;
257 int i, nSize, Entry, k;
282 printf(
"Obj %6d : ", i );
283 printf(
"Cone = %4d ", nSize );
static int Gia_ObjToLit(Gia_Man_t *p, Gia_Obj_t *pObj)
static int * Vec_IntArray(Vec_Int_t *p)
void Gia_ManCreateRefs(Gia_Man_t *p)
static int Gia_NodeDeref_rec(Gia_Man_t *p, Gia_Obj_t *pNode)
void Gia_ManComputeDomsTry(Gia_Man_t *p)
void Gia_ManStop(Gia_Man_t *p)
static Gia_Obj_t * Gia_ManCi(Gia_Man_t *p, int v)
static int Gia_ManAppendCo(Gia_Man_t *p, int iLit0)
typedefABC_NAMESPACE_IMPL_START struct Vec_Int_t_ Vec_Int_t
DECLARATIONS ///.
static int Gia_ObjIsTravIdCurrent(Gia_Man_t *p, Gia_Obj_t *pObj)
static int Gia_ManAppendCi(Gia_Man_t *p)
static int Gia_ObjRefNumId(Gia_Man_t *p, int Id)
static void Gia_NodeCollect_rec(Gia_Man_t *p, Gia_Obj_t *pNode, Vec_Int_t *vSupp, Vec_Int_t *vSuppRefs)
static int Gia_ObjRefNum(Gia_Man_t *p, Gia_Obj_t *pObj)
#define Gia_ManForEachObjReverse(p, pObj, i)
static abctime Abc_Clock()
static Gia_Obj_t * Gia_ManObj(Gia_Man_t *p, int v)
static void Gia_ManComputeDoms(Gia_Man_t *p)
static void Abc_PrintTime(int level, const char *pStr, abctime time)
void Gia_ManCollapseTestTest(Gia_Man_t *p)
static void Vec_IntWriteEntry(Vec_Int_t *p, int i, int Entry)
static int Abc_MinInt(int a, int b)
static Gia_Obj_t * Gia_ObjFanin0(Gia_Obj_t *pObj)
static Vec_Int_t * Vec_IntAlloc(int nCap)
FUNCTION DEFINITIONS ///.
static int Gia_ObjFanin1Copy(Gia_Obj_t *pObj)
static void Vec_IntAddToEntry(Vec_Int_t *p, int i, int Addition)
static int Vec_IntEntry(Vec_Int_t *p, int i)
static void Gia_ObjSetTravIdCurrent(Gia_Man_t *p, Gia_Obj_t *pObj)
static int Gia_ObjRefInc(Gia_Man_t *p, Gia_Obj_t *pObj)
#define ABC_NAMESPACE_IMPL_END
static void Vec_IntFill(Vec_Int_t *p, int nSize, int Fill)
Gia_Man_t * Gia_ManStart(int nObjsMax)
DECLARATIONS ///.
static void Vec_IntSelectSortCost2(int *pArray, int nSize, int *pCosts)
static void Vec_IntPush(Vec_Int_t *p, int Entry)
int Gia_ManDomDerive_rec(Gia_Man_t *pNew, Gia_Man_t *p, Gia_Obj_t *pNode)
static int Gia_ObjId(Gia_Man_t *p, Gia_Obj_t *pObj)
static void Gia_ObjSetDom(Gia_Man_t *p, Gia_Obj_t *pObj, int d)
static int Gia_ObjFanin0Copy(Gia_Obj_t *pObj)
static ABC_NAMESPACE_IMPL_START int Gia_ObjDom(Gia_Man_t *p, Gia_Obj_t *pObj)
DECLARATIONS ///.
static int Gia_ObjIsCo(Gia_Obj_t *pObj)
#define Gia_ManForEachObjVec(vVec, p, pObj, i)
#define ABC_NAMESPACE_IMPL_START
void Gia_DumpAiger(Gia_Man_t *p, char *pFilePrefix, int iFileNum, int nFileNumDigits)
static int Gia_NodeMffcSizeSupp(Gia_Man_t *p, Gia_Obj_t *pNode, Vec_Int_t *vSupp, Vec_Int_t *vSuppRefs)
static int Gia_ObjRefDec(Gia_Man_t *p, Gia_Obj_t *pObj)
static void Gia_ManAddDom(Gia_Man_t *p, Gia_Obj_t *pObj, int iDom0)
FUNCTION DEFINITIONS ///.
static int Vec_IntSize(Vec_Int_t *p)
static int Gia_IsComplement(Gia_Obj_t *p)
static int Gia_ObjIsAnd(Gia_Obj_t *pObj)
#define Gia_ManForEachObj(p, pObj, i)
MACRO DEFINITIONS ///.
static Gia_Obj_t * Gia_ManConst0(Gia_Man_t *p)
Gia_Man_t * Gia_ManDomDerive(Gia_Man_t *p, Gia_Obj_t *pRoot, Vec_Int_t *vSupp, int nVars)
static Gia_Obj_t * Gia_ObjFanin1(Gia_Obj_t *pObj)
int Gia_ManLevelNum(Gia_Man_t *p)
void Gia_ManHashAlloc(Gia_Man_t *p)
void Gia_ManIncrementTravId(Gia_Man_t *p)
static void Vec_IntFree(Vec_Int_t *p)
static void Vec_IntClear(Vec_Int_t *p)
static int Gia_ObjIsCi(Gia_Obj_t *pObj)
Gia_Man_t * Gia_ManCleanup(Gia_Man_t *p)
char * Abc_UtilStrsav(char *s)
#define Vec_IntForEachEntry(vVec, Entry, i)
MACRO DEFINITIONS ///.
static int Gia_NodeRef_rec(Gia_Man_t *p, Gia_Obj_t *pNode)
int Gia_ManHashAnd(Gia_Man_t *p, int iLit0, int iLit1)
static int Gia_ManObjNum(Gia_Man_t *p)
void Gia_ManHashStop(Gia_Man_t *p)