77 p->pNew->nObjs = p->nNewSize;
88 Gia_Man_t * pTemp = p->pNew; p->pNew = NULL;
120 int i, Num, nRefs, nPairs = 0,
nTotal = 0,
Counter[21] = {0};
122 for ( i = 1; i <= Num; i++ )
127 nPairs += (nRefs > 1);
143 printf(
"Statistics for pairs appearing less than 20 times:\n" );
144 for ( i = 0; i < 21; i++ )
147 printf(
"Pairs: Total = %8d Init = %8d %7.2f %% Final = %8d %7.2f %% Real = %8d %7.2f %%\n", nTotal0,
148 nPairs0, 100.0 * nPairs0 /
Abc_MaxInt(nTotal0, 1),
149 nPairs, 100.0 * nPairs /
Abc_MaxInt(nTotal0, 1),
150 nPairs1, 100.0 * nPairs1 /
Abc_MaxInt(nTotal0, 1) );
159 int nTotal = 0, nPairs0 = 0, nPairs = 0;
160 int i, k, j, FanK, FanJ, Num, nRefs;
214 for ( i = 0; i < nObjs; i++ )
218 printf(
"The number of used nodes = %d\n",
Vec_IntSize(vNodes) );
225 int i, k, iObj, iNode;
260 word uTruth;
int nNonUnique = 0;
261 int i, k, j, s, iObj, iNode, iUsed, FanK, FanJ, Res, Num, nRefs;
static Hash_IntMan_t * Hash_IntManStart(int nSize)
FUNCTION DEFINITIONS ///.
static int Hash_IntManEntryNum(Hash_IntMan_t *p)
static int Hash_Int2ObjInc(Hash_IntMan_t *p, int i)
void Gia_ManStop(Gia_Man_t *p)
void Gia_ManSetRefsMapped(Gia_Man_t *p)
static void Vec_IntFillExtra(Vec_Int_t *p, int nSize, int Fill)
typedefABC_NAMESPACE_IMPL_START struct Vec_Int_t_ Vec_Int_t
DECLARATIONS ///.
static void Vec_WrdPush(Vec_Wrd_t *p, word Entry)
static int Hash_IntObjData2(Hash_IntMan_t *p, int i)
Gia_Man_t * Unm_ManTest(Gia_Man_t *pGia)
static int Abc_Var2Lit(int Var, int fCompl)
static int Gia_ObjRefNumId(Gia_Man_t *p, int Id)
static Vec_Int_t * Vec_IntInvert(Vec_Int_t *p, int Fill)
static int Vec_IntFind(Vec_Int_t *p, int Entry)
void Gia_ManSetRegNum(Gia_Man_t *p, int nRegs)
static abctime Abc_Clock()
static int Abc_MaxInt(int a, int b)
static void Vec_WrdFreeP(Vec_Wrd_t **p)
static int Abc_TtCheckDsdAnd(word t, int i, int j, word *pOut)
static Gia_Obj_t * Gia_ManObj(Gia_Man_t *p, int v)
#define Gia_ManForEachLut(p, i)
#define ABC_SWAP(Type, a, b)
void Unm_ManWork(Unm_Man_t *p)
Vec_Wrd_t * Unm_ManComputeTruths(Unm_Man_t *p)
static void Abc_PrintTime(int level, const char *pStr, abctime time)
static void Vec_StrWriteEntry(Vec_Str_t *p, int i, char Entry)
Unm_Man_t * Unm_ManAlloc(Gia_Man_t *pGia)
FUNCTION DEFINITIONS ///.
static int Abc_MinInt(int a, int b)
static Vec_Int_t * Vec_IntStart(int nSize)
Vec_Int_t * Unm_ManCollectDecomp(Unm_Man_t *p, Vec_Int_t *vPairs, int fVerbose)
static char Vec_StrEntry(Vec_Str_t *p, int i)
static Vec_Int_t * Vec_IntAlloc(int nCap)
FUNCTION DEFINITIONS ///.
static int Gia_ObjLutSize(Gia_Man_t *p, int Id)
static void Vec_StrFree(Vec_Str_t *p)
static int Vec_IntEntry(Vec_Int_t *p, int i)
unsigned __int64 word
DECLARATIONS ///.
static void Hash_IntManStop(Hash_IntMan_t *p)
#define ABC_NAMESPACE_IMPL_END
Gia_Man_t * Gia_ManStart(int nObjsMax)
DECLARATIONS ///.
static Vec_Str_t * Vec_StrStart(int nSize)
static void Vec_IntPush(Vec_Int_t *p, int Entry)
void Gia_ManCleanLevels(Gia_Man_t *p, int Size)
#define Vec_IntForEachEntryStart(vVec, Entry, i, Start)
static void Vec_IntFreeP(Vec_Int_t **p)
static int Hash_Int2ManInsert(Hash_IntMan_t *p, int iData0, int iData1, int iData2)
typedefABC_NAMESPACE_IMPL_START struct Unm_Man_t_ Unm_Man_t
DECLARATIONS ///.
static Vec_Wrd_t * Vec_WrdAlloc(int nCap)
FUNCTION DEFINITIONS ///.
#define ABC_NAMESPACE_IMPL_START
static Vec_Wrd_t * Vec_WrdStart(int nSize)
Vec_Int_t * Unm_ManFindUsedNodes(Vec_Int_t *vPairs, int nObjs)
Gia_Man_t * Unm_ManFree(Unm_Man_t *p)
static int Vec_IntSize(Vec_Int_t *p)
word Shr_ManComputeTruth6(Gia_Man_t *p, Gia_Obj_t *pObj, Vec_Int_t *vLeaves, Vec_Wrd_t *vTruths)
static word Vec_WrdEntry(Vec_Wrd_t *p, int i)
#define ABC_CALLOC(type, num)
Vec_Int_t * Unm_ManComputePairs(Unm_Man_t *p, int fVerbose)
static int Gia_ObjIsLut(Gia_Man_t *p, int Id)
void Gia_ManHashAlloc(Gia_Man_t *p)
void Gia_ManIncrementTravId(Gia_Man_t *p)
static void Vec_IntFree(Vec_Int_t *p)
int Unm_ManPrintPairStats(Hash_IntMan_t *pHash, int nTotal0, int nPairs0, int nPairs1, int fUseLit)
static void Vec_IntClear(Vec_Int_t *p)
char * Abc_UtilStrsav(char *s)
#define Vec_IntForEachEntry(vVec, Entry, i)
MACRO DEFINITIONS ///.
typedefABC_NAMESPACE_HEADER_START struct Vec_Wrd_t_ Vec_Wrd_t
INCLUDES ///.
#define Gia_LutForEachFanin(p, i, iFan, k)
static int Gia_ManObjNum(Gia_Man_t *p)
int nTotal
DECLARATIONS ///.
void Gia_ManHashStop(Gia_Man_t *p)
static int Gia_ManRegNum(Gia_Man_t *p)