Commit 8e31b4c0 by Alan Mishchenko

Scalable gate-level abstraction.

parent b3dd1f82
...@@ -101,7 +101,7 @@ static inline Vec_Int_t * Ga2_MapFrameMap( Ga2_Man_t * p, int f ) ...@@ -101,7 +101,7 @@ static inline Vec_Int_t * Ga2_MapFrameMap( Ga2_Man_t * p, int f )
// returns literal of this object, or -1 if SAT variable of the object is not assigned // returns literal of this object, or -1 if SAT variable of the object is not assigned
static inline int Ga2_ObjFindLit( Ga2_Man_t * p, Gia_Obj_t * pObj, int f ) static inline int Ga2_ObjFindLit( Ga2_Man_t * p, Gia_Obj_t * pObj, int f )
{ {
int Id = Ga2_ObjId(p,pObj); // int Id = Ga2_ObjId(p,pObj);
assert( Ga2_ObjId(p,pObj) >= 0 && Ga2_ObjId(p,pObj) < Vec_IntSize(p->vValues) ); assert( Ga2_ObjId(p,pObj) >= 0 && Ga2_ObjId(p,pObj) < Vec_IntSize(p->vValues) );
return Vec_IntEntry( Ga2_MapFrameMap(p, f), Ga2_ObjId(p,pObj) ); return Vec_IntEntry( Ga2_MapFrameMap(p, f), Ga2_ObjId(p,pObj) );
} }
...@@ -495,7 +495,7 @@ unsigned Ga2_ObjComputeTruthSpecial( Gia_Man_t * p, Gia_Obj_t * pRoot, Vec_Int_t ...@@ -495,7 +495,7 @@ unsigned Ga2_ObjComputeTruthSpecial( Gia_Man_t * p, Gia_Obj_t * pRoot, Vec_Int_t
unsigned Res; unsigned Res;
Gia_Obj_t * pObj; Gia_Obj_t * pObj;
int i, Entry; int i, Entry;
int Id = Gia_ObjId(p, pRoot); // int Id = Gia_ObjId(p, pRoot);
assert( Gia_ObjIsAnd(pRoot) ); assert( Gia_ObjIsAnd(pRoot) );
if ( fVerbose ) if ( fVerbose )
...@@ -746,7 +746,7 @@ static inline void Ga2_ManSetupNode( Ga2_Man_t * p, Gia_Obj_t * pObj, int fAbs ) ...@@ -746,7 +746,7 @@ static inline void Ga2_ManSetupNode( Ga2_Man_t * p, Gia_Obj_t * pObj, int fAbs )
{ {
unsigned uTruth; unsigned uTruth;
int nLeaves; int nLeaves;
int Id = Gia_ObjId(p->pGia, pObj); // int Id = Gia_ObjId(p->pGia, pObj);
assert( pObj->fPhase ); assert( pObj->fPhase );
assert( Vec_PtrSize(p->vCnfs) == 2 * Vec_IntSize(p->vValues) ); assert( Vec_PtrSize(p->vCnfs) == 2 * Vec_IntSize(p->vValues) );
// assign abstraction ID to the node // assign abstraction ID to the node
...@@ -805,7 +805,7 @@ static inline void Ga2_ManAddToAbsOneStatic( Ga2_Man_t * p, Gia_Obj_t * pObj, in ...@@ -805,7 +805,7 @@ static inline void Ga2_ManAddToAbsOneStatic( Ga2_Man_t * p, Gia_Obj_t * pObj, in
} }
static inline void Ga2_ManAddToAbsOneDynamic( Ga2_Man_t * p, Gia_Obj_t * pObj, int f ) static inline void Ga2_ManAddToAbsOneDynamic( Ga2_Man_t * p, Gia_Obj_t * pObj, int f )
{ {
int Id = Gia_ObjId(p->pGia, pObj); // int Id = Gia_ObjId(p->pGia, pObj);
Vec_Int_t * vLeaves; Vec_Int_t * vLeaves;
Gia_Obj_t * pLeaf; Gia_Obj_t * pLeaf;
unsigned uTruth; unsigned uTruth;
...@@ -1170,7 +1170,7 @@ void Ga2_GlaPrepareCexAndMap( Ga2_Man_t * p, Abc_Cex_t ** ppCex, Vec_Int_t ** pv ...@@ -1170,7 +1170,7 @@ void Ga2_GlaPrepareCexAndMap( Ga2_Man_t * p, Abc_Cex_t ** ppCex, Vec_Int_t ** pv
Abc_Cex_t * pCex; Abc_Cex_t * pCex;
Vec_Int_t * vMap; Vec_Int_t * vMap;
Gia_Obj_t * pObj; Gia_Obj_t * pObj;
int f, i, k, Id; int f, i, k;
/* /*
Gia_ManForEachObj( p->pGia, pObj, i ) Gia_ManForEachObj( p->pGia, pObj, i )
if ( Ga2_ObjId(p, pObj) >= 0 ) if ( Ga2_ObjId(p, pObj) >= 0 )
...@@ -1181,8 +1181,6 @@ void Ga2_GlaPrepareCexAndMap( Ga2_Man_t * p, Abc_Cex_t ** ppCex, Vec_Int_t ** pv ...@@ -1181,8 +1181,6 @@ void Ga2_GlaPrepareCexAndMap( Ga2_Man_t * p, Abc_Cex_t ** ppCex, Vec_Int_t ** pv
Gia_ManForEachObjVec( p->vValues, p->pGia, pObj, i ) Gia_ManForEachObjVec( p->vValues, p->pGia, pObj, i )
{ {
if ( !i ) continue; if ( !i ) continue;
Id = Ga2_ObjId(p, pObj);
k = Gia_ObjId(p->pGia, pObj);
if ( Ga2_ObjIsAbs(p, pObj) ) if ( Ga2_ObjIsAbs(p, pObj) )
continue; continue;
assert( pObj->fPhase ); assert( pObj->fPhase );
...@@ -1387,7 +1385,7 @@ int Ga2_ManPerform( Gia_Man_t * pAig, Gia_ParVta_t * pPars ) ...@@ -1387,7 +1385,7 @@ int Ga2_ManPerform( Gia_Man_t * pAig, Gia_ParVta_t * pPars )
Ga2_Man_t * p; Ga2_Man_t * p;
Vec_Int_t * vCore, * vPPis; Vec_Int_t * vCore, * vPPis;
clock_t clk2, clk = clock(); clock_t clk2, clk = clock();
int Status, RetValue = -1, fOneIsSent = 0; int Status = l_Undef, RetValue = -1, fOneIsSent = 0;
int i, c, f, Lit, iFrameProved = -1; int i, c, f, Lit, iFrameProved = -1;
// check trivial case // check trivial case
assert( Gia_ManPoNum(pAig) == 1 ); assert( Gia_ManPoNum(pAig) == 1 );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment