diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2012-10-02 16:30:14 -0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2012-10-02 16:30:14 -0700 |
commit | 4aa33e7d0f8853443a2d33aa264ad27e60aa5ee8 (patch) | |
tree | 72f3f8a8cd80aa82386659db3a1cab56852b2751 /src/aig/gia | |
parent | b71d4425d06fceb35c3888d2656ba39e046c6a02 (diff) | |
download | abc-4aa33e7d0f8853443a2d33aa264ad27e60aa5ee8.tar.gz abc-4aa33e7d0f8853443a2d33aa264ad27e60aa5ee8.tar.bz2 abc-4aa33e7d0f8853443a2d33aa264ad27e60aa5ee8.zip |
Structural reparametrization.
Diffstat (limited to 'src/aig/gia')
-rw-r--r-- | src/aig/gia/gia.h | 1 | ||||
-rw-r--r-- | src/aig/gia/giaTruth.c | 11 |
2 files changed, 11 insertions, 1 deletions
diff --git a/src/aig/gia/gia.h b/src/aig/gia/gia.h index 566365c3..25187a33 100644 --- a/src/aig/gia/gia.h +++ b/src/aig/gia/gia.h @@ -888,6 +888,7 @@ extern word Gia_ObjComputeTruthTable6( Gia_Man_t * p, Gia_Obj_t * extern void Gia_ObjCollectInternal( Gia_Man_t * p, Gia_Obj_t * pObj ); extern unsigned * Gia_ObjComputeTruthTable( Gia_Man_t * p, Gia_Obj_t * pObj ); extern void Gia_ObjComputeTruthTableStart( Gia_Man_t * p, int nVarsMax ); +extern void Gia_ObjComputeTruthTableStop( Gia_Man_t * p ); extern unsigned * Gia_ObjComputeTruthTableCut( Gia_Man_t * p, Gia_Obj_t * pObj, Vec_Int_t * vLeaves ); /*=== giaTsim.c ============================================================*/ extern Gia_Man_t * Gia_ManReduceConst( Gia_Man_t * pAig, int fVerbose ); diff --git a/src/aig/gia/giaTruth.c b/src/aig/gia/giaTruth.c index a84764b4..24d8d879 100644 --- a/src/aig/gia/giaTruth.c +++ b/src/aig/gia/giaTruth.c @@ -285,6 +285,15 @@ void Gia_ObjComputeTruthTableStart( Gia_Man_t * p, int nVarsMax ) p->vTtInputs = Vec_PtrAllocTruthTables( p->nTtVars ); p->vTtMemory = Vec_WrdStart( p->nTtWords * 256 ); } +void Gia_ObjComputeTruthTableStop( Gia_Man_t * p ) +{ + p->nTtVars = 0; + p->nTtWords = 0; + Vec_StrFreeP( &p->vTtNums ); + Vec_IntFreeP( &p->vTtNodes ); + Vec_PtrFreeP( &p->vTtInputs ); + Vec_WrdFreeP( &p->vTtMemory ); +} /**Function************************************************************* @@ -303,7 +312,7 @@ unsigned * Gia_ObjComputeTruthTableCut( Gia_Man_t * p, Gia_Obj_t * pRoot, Vec_In word * pTruth, * pTruthL, * pTruth0, * pTruth1; int i; assert( p->vTtMemory != NULL ); - assert( p->nTtVars <= Vec_IntSize(vLeaves) ); + assert( Vec_IntSize(vLeaves) <= p->nTtVars ); // collect internal nodes Gia_ObjCollectInternalCut( p, pRoot, vLeaves ); // compute the truth table for internal nodes |