diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2016-04-09 17:00:46 -0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2016-04-09 17:00:46 -0700 |
commit | d0a0cf63951e24a6d979af65c58d564254caec70 (patch) | |
tree | 188a285b131308422bb081f88293551dff2181c5 /src/misc/vec/vecHsh.h | |
parent | 8b07237bf5041bf6a09fdeabb52bbf2745c027bf (diff) | |
download | abc-d0a0cf63951e24a6d979af65c58d564254caec70.tar.gz abc-d0a0cf63951e24a6d979af65c58d564254caec70.tar.bz2 abc-d0a0cf63951e24a6d979af65c58d564254caec70.zip |
Command &esop to convert AIG into ESOP.
Diffstat (limited to 'src/misc/vec/vecHsh.h')
-rw-r--r-- | src/misc/vec/vecHsh.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/misc/vec/vecHsh.h b/src/misc/vec/vecHsh.h index 8fcf7b0a..52289231 100644 --- a/src/misc/vec/vecHsh.h +++ b/src/misc/vec/vecHsh.h @@ -79,6 +79,8 @@ struct Hsh_VecMan_t_ Vec_Int_t * vData; // data storage Vec_Int_t * vMap; // mapping entries into data; Vec_Int_t vTemp; // temporary array + Vec_Int_t vTemp1; // temporary array + Vec_Int_t vTemp2; // temporary array }; //////////////////////////////////////////////////////////////////////// @@ -305,6 +307,10 @@ static inline void Hsh_VecManStop( Hsh_VecMan_t * p ) Vec_IntFree( p->vMap ); ABC_FREE( p ); } +static inline int * Hsh_VecReadArray( Hsh_VecMan_t * p, int i ) +{ + return (int*)Hsh_VecObj(p, i) + 2; +} static inline Vec_Int_t * Hsh_VecReadEntry( Hsh_VecMan_t * p, int i ) { Hsh_VecObj_t * pObj = Hsh_VecObj( p, i ); @@ -312,6 +318,20 @@ static inline Vec_Int_t * Hsh_VecReadEntry( Hsh_VecMan_t * p, int i ) p->vTemp.pArray = (int*)pObj + 2; return &p->vTemp; } +static inline Vec_Int_t * Hsh_VecReadEntry1( Hsh_VecMan_t * p, int i ) +{ + Hsh_VecObj_t * pObj = Hsh_VecObj( p, i ); + p->vTemp1.nSize = p->vTemp1.nCap = pObj->nSize; + p->vTemp1.pArray = (int*)pObj + 2; + return &p->vTemp1; +} +static inline Vec_Int_t * Hsh_VecReadEntry2( Hsh_VecMan_t * p, int i ) +{ + Hsh_VecObj_t * pObj = Hsh_VecObj( p, i ); + p->vTemp2.nSize = p->vTemp2.nCap = pObj->nSize; + p->vTemp2.pArray = (int*)pObj + 2; + return &p->vTemp2; +} static inline int Hsh_VecSize( Hsh_VecMan_t * p ) { return Vec_IntSize(p->vMap); |