93 printf(
"Obj = %4d : ", i );
125 int nVarsAll,
Counter, iSupp = -1, Entry, i, k;
136 for ( i = 0; i < nVarsAll; i++ )
156 printf(
"%2d : Quant0 = ", i );
158 printf(
"%d ", Entry );
165 printf(
"%2d : Quant1 = ", i );
167 printf(
"%d ", Entry );
188 DdNode * bBdd0, * bBdd1, * bProd, * bRes, * bTemp;
206 if ( pObj->
pData == NULL )
291 DdNode * bProd, * bRes, * bTemp;
366 abctime TimeTarget,
int fBackward,
int fReorder,
int fVerbose )
370 DdNode * bImage, * bGroup, * bCube, * bTemp;
388 if ( bImage == NULL )
403 printf(
" %2d : ", i );
406 if ( bGroup == NULL )
416 if ( bImage == NULL )
void Llb_ImgSchedule(Vec_Ptr_t *vSupps, Vec_Ptr_t **pvQuant0, Vec_Ptr_t **pvQuant1, int fVerbose)
typedefABC_NAMESPACE_HEADER_START struct Vec_Ptr_t_ Vec_Ptr_t
INCLUDES ///.
DdNode * Llb_ImgComputeCube(Aig_Man_t *pAig, Vec_Int_t *vNodeIds, DdManager *dd)
#define CUDD_UNIQUE_SLOTS
void Cudd_RecursiveDeref(DdManager *table, DdNode *n)
static int Saig_ObjIsLo(Aig_Man_t *p, Aig_Obj_t *pObj)
#define Aig_ManForEachObjVec(vIds, p, pObj, i)
typedefABC_NAMESPACE_HEADER_START struct Aig_Man_t_ Aig_Man_t
INCLUDES ///.
typedefABC_NAMESPACE_IMPL_START struct Vec_Int_t_ Vec_Int_t
DECLARATIONS ///.
DdNode * Cudd_Support(DdManager *dd, DdNode *f)
void Cudd_Deref(DdNode *node)
DdNode * Cudd_bddExistAbstract(DdManager *manager, DdNode *f, DdNode *cube)
static Aig_Obj_t * Aig_ObjFanin0(Aig_Obj_t *pObj)
DdNode * Llb_ImgComputeImage(Aig_Man_t *pAig, Vec_Ptr_t *vDdMans, DdManager *dd, DdNode *bInit, Vec_Ptr_t *vQuant0, Vec_Ptr_t *vQuant1, Vec_Int_t *vDriRefs, abctime TimeTarget, int fBackward, int fReorder, int fVerbose)
static void Vec_PtrPush(Vec_Ptr_t *p, void *Entry)
void Llb_ImgQuantifyFirst(Aig_Man_t *pAig, Vec_Ptr_t *vDdMans, Vec_Ptr_t *vQuant0, int fVerbose)
static abctime Abc_Clock()
static Aig_Obj_t * Aig_ObjFanin1(Aig_Obj_t *pObj)
static int Vec_PtrSize(Vec_Ptr_t *p)
int Cudd_ReadSize(DdManager *dd)
static int Saig_ObjIsLi(Aig_Man_t *p, Aig_Obj_t *pObj)
DdNode * Cudd_bddTransfer(DdManager *ddSource, DdManager *ddDestination, DdNode *f)
static void Abc_PrintTime(int level, const char *pStr, abctime time)
static int Aig_ObjIsNode(Aig_Obj_t *pObj)
static void Vec_IntWriteEntry(Vec_Int_t *p, int i, int Entry)
static Vec_Int_t * Vec_IntStart(int nSize)
static Vec_Int_t * Vec_IntAlloc(int nCap)
FUNCTION DEFINITIONS ///.
static int Vec_IntEntry(Vec_Int_t *p, int i)
#define ABC_NAMESPACE_IMPL_END
DdManager * Cudd_Init(unsigned int numVars, unsigned int numVarsZ, unsigned int numSlots, unsigned int cacheSize, unsigned long maxMemory)
static void Vec_IntPush(Vec_Int_t *p, int Entry)
DdNode * Cudd_bddAndAbstract(DdManager *manager, DdNode *f, DdNode *g, DdNode *cube)
DdNode * Cudd_bddXnor(DdManager *dd, DdNode *f, DdNode *g)
static void Abc_Print(int level, const char *format,...)
static int Aig_ObjFaninC0(Aig_Obj_t *pObj)
static int Aig_ManObjNumMax(Aig_Man_t *p)
Vec_Ptr_t * Llb_ImgSupports(Aig_Man_t *p, Vec_Ptr_t *vDdMans, Vec_Int_t *vStart, Vec_Int_t *vStop, int fAddPis, int fVerbose)
FUNCTION DEFINITIONS ///.
ABC_NAMESPACE_IMPL_START Vec_Ptr_t * Llb_ManCutNodes(Aig_Man_t *p, Vec_Ptr_t *vLower, Vec_Ptr_t *vUpper)
DECLARATIONS ///.
#define ABC_NAMESPACE_IMPL_START
static void * Vec_PtrEntry(Vec_Ptr_t *p, int i)
void Cudd_AutodynDisable(DdManager *unique)
DdNode * Cudd_ReadOne(DdManager *dd)
void Llb_ImgQuantifyReset(Vec_Ptr_t *vDdMans)
static int Vec_IntSize(Vec_Int_t *p)
#define Aig_ManForEachObj(p, pObj, i)
static Vec_Ptr_t * Vec_PtrAlloc(int nCap)
FUNCTION DEFINITIONS ///.
DdNode * Llb_DriverPhaseCube(Aig_Man_t *pAig, Vec_Int_t *vDriRefs, DdManager *dd)
DdNode * Cudd_bddIthVar(DdManager *dd, int i)
static int Aig_ObjFaninC1(Aig_Obj_t *pObj)
#define Cudd_NotCond(node, c)
DdNode * Cudd_bddAnd(DdManager *dd, DdNode *f, DdNode *g)
static int Aig_ObjId(Aig_Obj_t *pObj)
void Cudd_Quit(DdManager *unique)
int Cudd_ReduceHeap(DdManager *table, Cudd_ReorderingType heuristic, int minsize)
void Cudd_AutodynEnable(DdManager *unique, Cudd_ReorderingType method)
DdManager * Llb_ImgPartition(Aig_Man_t *p, Vec_Ptr_t *vLower, Vec_Ptr_t *vUpper, abctime TimeTarget)
#define Vec_PtrForEachEntry(Type, vVec, pEntry, i)
MACRO DEFINITIONS ///.
Vec_Ptr_t * Llb_ManCutRange(Aig_Man_t *p, Vec_Ptr_t *vLower, Vec_Ptr_t *vUpper)
#define Vec_IntForEachEntry(vVec, Entry, i)
MACRO DEFINITIONS ///.
int Cudd_SupportSize(DdManager *dd, DdNode *f)
static int Saig_ObjIsPi(Aig_Man_t *p, Aig_Obj_t *pObj)
int Cudd_DagSize(DdNode *node)
static void Vec_PtrFree(Vec_Ptr_t *p)
#define Saig_ManForEachPi(p, pObj, i)