summaryrefslogtreecommitdiffstats
path: root/src/aig/ntl/ntlTable.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/aig/ntl/ntlTable.c')
-rw-r--r--src/aig/ntl/ntlTable.c37
1 files changed, 35 insertions, 2 deletions
diff --git a/src/aig/ntl/ntlTable.c b/src/aig/ntl/ntlTable.c
index aa122900..62f65d6c 100644
--- a/src/aig/ntl/ntlTable.c
+++ b/src/aig/ntl/ntlTable.c
@@ -58,6 +58,8 @@ Ntl_Net_t * Ntl_ModelCreateNet( Ntl_Mod_t * p, const char * pName )
pNet = (Ntl_Net_t *)Aig_MmFlexEntryFetch( p->pMan->pMemObjs, sizeof(Ntl_Net_t) + strlen(pName) + 1 );
memset( pNet, 0, sizeof(Ntl_Net_t) );
strcpy( pNet->pName, pName );
+ pNet->NetId = Vec_PtrSize( p->vNets );
+ Vec_PtrPush( p->vNets, pNet );
return pNet;
}
@@ -104,7 +106,7 @@ clk = clock();
/**Function*************************************************************
- Synopsis [Finds or creates the net.]
+ Synopsis [Finds net.]
Description []
@@ -125,7 +127,7 @@ Ntl_Net_t * Ntl_ModelFindNet( Ntl_Mod_t * p, const char * pName )
/**Function*************************************************************
- Synopsis [Finds or creates the net.]
+ Synopsis [Deletes net from the hash table.]
Description []
@@ -150,6 +152,26 @@ void Ntl_ModelDeleteNet( Ntl_Mod_t * p, Ntl_Net_t * pNet )
p->pTable[Key] = pEnt->pNext;
else
pPrev->pNext = pEnt->pNext;
+ p->nEntries--;
+}
+
+/**Function*************************************************************
+
+ Synopsis [Inserts net into the hash table.]
+
+ Description []
+
+ SideEffects []
+
+ SeeAlso []
+
+***********************************************************************/
+void Ntl_ModelInsertNet( Ntl_Mod_t * p, Ntl_Net_t * pNet )
+{
+ unsigned Key = Ntl_HashString( pNet->pName, p->nTableSize );
+ assert( Ntl_ModelFindNet( p, pNet->pName ) == NULL );
+ pNet->pNext = p->pTable[Key];
+ p->pTable[Key] = pNet;
}
/**Function*************************************************************
@@ -178,6 +200,17 @@ Ntl_Net_t * Ntl_ModelFindOrCreateNet( Ntl_Mod_t * p, const char * pName )
return pEnt;
}
+/**Function*************************************************************
+
+ Synopsis [Creates new net.]
+
+ Description []
+
+ SideEffects []
+
+ SeeAlso []
+
+***********************************************************************/
Ntl_Net_t * Ntl_ModelDontFindCreateNet( Ntl_Mod_t * p, const char * pName )
{
Ntl_Net_t * pEnt;