diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2005-08-27 08:01:00 -0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2005-08-27 08:01:00 -0700 |
commit | 28db025b8393e307328d51ff6901c4ebab669e95 (patch) | |
tree | 3866dd659505646c64eccdb672930bf0ebb849c2 /src/misc/vec/vecVec.h | |
parent | 9093ca53201519ef03dedb7044345fc716cc0643 (diff) | |
download | abc-28db025b8393e307328d51ff6901c4ebab669e95.tar.gz abc-28db025b8393e307328d51ff6901c4ebab669e95.tar.bz2 abc-28db025b8393e307328d51ff6901c4ebab669e95.zip |
Version abc50827
Diffstat (limited to 'src/misc/vec/vecVec.h')
-rw-r--r-- | src/misc/vec/vecVec.h | 30 |
1 files changed, 27 insertions, 3 deletions
diff --git a/src/misc/vec/vecVec.h b/src/misc/vec/vecVec.h index 4ee62080..bb911bfe 100644 --- a/src/misc/vec/vecVec.h +++ b/src/misc/vec/vecVec.h @@ -39,9 +39,9 @@ typedef struct Vec_Vec_t_ Vec_Vec_t; struct Vec_Vec_t_ { - int nSize; - int nCap; - void ** pArray; + int nCap; + int nSize; + void ** pArray; }; //////////////////////////////////////////////////////////////////////// @@ -55,6 +55,8 @@ struct Vec_Vec_t_ for ( i = LevelStart; (i < Vec_PtrSize(vGlob)) && (((vVec) = Vec_VecEntry(vGlob, i)), 1); i++ ) #define Vec_VecForEachLevelStartStop( vGlob, vVec, i, LevelStart, LevelStop ) \ for ( i = LevelStart; (i <= LevelStop) && (((vVec) = Vec_VecEntry(vGlob, i)), 1); i++ ) +#define Vec_VecForEachLevelReverse( vGlob, vVec, i ) \ + for ( i = Vec_VecSize(vGlob) - 1; (i >= 0) && (((vVec) = Vec_VecEntry(vGlob, i)), 1); i-- ) // iteratores through entries #define Vec_VecForEachEntry( vGlob, pEntry, i, k ) \ @@ -96,6 +98,28 @@ static inline Vec_Vec_t * Vec_VecAlloc( int nCap ) /**Function************************************************************* + Synopsis [Allocates a vector with the given capacity.] + + Description [] + + SideEffects [] + + SeeAlso [] + +***********************************************************************/ +static inline Vec_Vec_t * Vec_VecStart( int nSize ) +{ + Vec_Vec_t * p; + int i; + p = Vec_VecAlloc( nSize ); + for ( i = 0; i < nSize; i++ ) + p->pArray[i] = Vec_PtrAlloc( 0 ); + p->nSize = nSize; + return p; +} + +/**Function************************************************************* + Synopsis [] Description [] |