summaryrefslogtreecommitdiffstats
path: root/src/map/if/ifMan.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/if/ifMan.c')
-rw-r--r--src/map/if/ifMan.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/map/if/ifMan.c b/src/map/if/ifMan.c
index 29d648ef..53eea1a7 100644
--- a/src/map/if/ifMan.c
+++ b/src/map/if/ifMan.c
@@ -73,6 +73,17 @@ If_Man_t * If_ManStart( If_Par_t * pPars )
p->vTtMem[v] = Vec_MemAllocForTT( v, pPars->fUseTtPerm );
for ( v = 0; v < 6; v++ )
p->vTtMem[v] = p->vTtMem[6];
+ if ( p->pPars->fDelayOpt )
+ {
+ p->vCover = Vec_IntAlloc( 0 );
+ p->vArray = Vec_IntAlloc( 1000 );
+ for ( v = 6; v <= p->pPars->nLutSize; v++ )
+ p->vTtIsops[v] = Vec_WecAlloc( 1000 );
+ for ( v = 6; v <= p->pPars->nLutSize; v++ )
+ Vec_WecInit( p->vTtIsops[v], 2 );
+ for ( v = 0; v < 6; v++ )
+ p->vTtIsops[v] = p->vTtIsops[6];
+ }
}
p->nPermWords = p->pPars->fUsePerm? If_CutPermWords( p->pPars->nLutSize ) : 0;
p->nObjBytes = sizeof(If_Obj_t) + sizeof(int) * (p->pPars->nLutSize + p->nPermWords/* + p->nTruthWords*/);
@@ -226,6 +237,8 @@ void If_ManStop( If_Man_t * p )
Vec_MemHashFree( p->vTtMem[i] );
for ( i = 6; i <= p->pPars->nLutSize; i++ )
Vec_MemFreeP( &p->vTtMem[i] );
+ for ( i = 6; i <= p->pPars->nLutSize; i++ )
+ Vec_WecFreeP( &p->vTtIsops[i] );
Mem_FixedStop( p->pMemObj, 0 );
ABC_FREE( p->pMemCi );
ABC_FREE( p->pMemAnd );