48 for ( ; pFront[iFront]; iFront = (iFront + 1) % nFront );
49 assert( pFront[iFront] == 0 );
83 pFrontToId[pObj->
Value] = i;
88 pFrontToId[pObj->
Value] = i;
109 int i, nCutCur = 0, nCutMax = 0;
115 if ( nCutMax < nCutCur )
150 Gia_Obj_t * pObj, * pFanin0New, * pFanin1New, * pObjNew;
152 int i, iLit, nCrossCut = 0, nCrossCutMax = 0;
161 pNew->
nFront = 1 + (int)((
float)1.1 * nCrossCutMaxInit);
176 nCrossCutMax = nCrossCut;
203 pFront[pFanin0New->
Value] = 0;
209 nCrossCutMax = nCrossCut;
228 pFront[pFanin0New->
Value] = 0;
233 pFront[pFanin1New->
Value] = 0;
241 assert( nCrossCut == 0 || nCrossCutMax == nCrossCutMaxInit );
242 for ( i = 0; i < pNew->
nFront; i++ )
282 printf(
"Verification failed.\n" );
285 printf(
"Verification successful.\n" );
Gia_Man_t * Gia_ManFront(Gia_Man_t *p)
int Gia_ManCrossCutSimple(Gia_Man_t *p)
void Gia_ManStop(Gia_Man_t *p)
static int Gia_ObjFaninC1(Gia_Obj_t *pObj)
static int Gia_ManAppendCo(Gia_Man_t *p, int iLit0)
static int Gia_ManAppendCi(Gia_Man_t *p)
static int Gia_ObjDiff1(Gia_Obj_t *pObj)
static int Gia_ObjValue(Gia_Obj_t *pObj)
void Gia_ManSetRegNum(Gia_Man_t *p, int nRegs)
void Gia_ManFrontTransform(Gia_Man_t *p)
static Gia_Obj_t * Gia_ManObj(Gia_Man_t *p, int v)
void Gia_ManCreateValueRefs(Gia_Man_t *p)
static Gia_Obj_t * Gia_ObjFanin0(Gia_Obj_t *pObj)
#define ABC_NAMESPACE_IMPL_END
Gia_Man_t * Gia_ManStart(int nObjsMax)
DECLARATIONS ///.
static int Gia_ObjId(Gia_Man_t *p, Gia_Obj_t *pObj)
static ABC_NAMESPACE_IMPL_START int Gia_ManFrontFindNext(char *pFront, int nFront, int iFront)
DECLARATIONS ///.
static int Gia_ObjDiff0(Gia_Obj_t *pObj)
static int Gia_ObjIsCo(Gia_Obj_t *pObj)
#define ABC_NAMESPACE_IMPL_START
static Gia_Obj_t * Gia_ManAppendObj(Gia_Man_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)
#define GIA_NONE
INCLUDES ///.
void Gia_ManFrontTest(Gia_Man_t *p)
static int Abc_Lit2Var(int Lit)
#define ABC_CALLOC(type, num)
static Gia_Obj_t * Gia_ObjFanin1(Gia_Obj_t *pObj)
#define Gia_ManForEachObj1(p, pObj, i)
static int Gia_ObjFaninC0(Gia_Obj_t *pObj)
static int Gia_ObjIsCi(Gia_Obj_t *pObj)
char * Abc_UtilStrsav(char *s)
static int Gia_ObjFaninId1(Gia_Obj_t *pObj, int ObjId)
static int Gia_ManObjNum(Gia_Man_t *p)
#define ABC_FALLOC(type, num)
static int Gia_ObjFaninId0(Gia_Obj_t *pObj, int ObjId)
static int Gia_ManRegNum(Gia_Man_t *p)