diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2012-06-22 10:30:22 -0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2012-06-22 10:30:22 -0700 |
commit | 735a831e13684334d55b422993a80d94d356f180 (patch) | |
tree | 0bf12906593cf6f6010c107cb9cb8f57fb335b79 /src/misc/vec/vecVec.h | |
parent | 072c264f761268838e2613d0e6735d1a721e0ae9 (diff) | |
download | abc-735a831e13684334d55b422993a80d94d356f180.tar.gz abc-735a831e13684334d55b422993a80d94d356f180.tar.bz2 abc-735a831e13684334d55b422993a80d94d356f180.zip |
Added memory reporting to &vta.
Diffstat (limited to 'src/misc/vec/vecVec.h')
-rw-r--r-- | src/misc/vec/vecVec.h | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/src/misc/vec/vecVec.h b/src/misc/vec/vecVec.h index 8bed4574..6d309dc4 100644 --- a/src/misc/vec/vecVec.h +++ b/src/misc/vec/vecVec.h @@ -247,6 +247,22 @@ static inline int Vec_VecSize( Vec_Vec_t * p ) SeeAlso [] ***********************************************************************/ +static inline int Vec_VecCap( Vec_Vec_t * p ) +{ + return p->nCap; +} + +/**Function************************************************************* + + Synopsis [] + + Description [] + + SideEffects [] + + SeeAlso [] + +***********************************************************************/ static inline int Vec_VecLevelSize( Vec_Vec_t * p, int i ) { return Vec_PtrSize( (Vec_Ptr_t *)p->pArray[i] ); @@ -673,6 +689,37 @@ static inline void Vec_VecPrintInt( Vec_Vec_t * p, int fSkipSingles ) } } +/**Function************************************************************* + + Synopsis [Returns memory, in bytes, used by the vector.] + + Description [] + + SideEffects [] + + SeeAlso [] + +***********************************************************************/ +static inline double Vec_VecMemory( Vec_Vec_t * p ) +{ + int i; + Vec_Ptr_t * vVec; + double Mem = sizeof(Vec_Vec_t); + Mem += Vec_VecCap(p) * sizeof(void *); + Vec_VecForEachLevel( p, vVec, i ) + Mem += sizeof(Vec_Ptr_t) + Vec_PtrCap(vVec) * sizeof(void *); + return Mem; +} +static inline double Vec_VecMemoryInt( Vec_Vec_t * p ) +{ + int i; + Vec_Int_t * vVec; + double Mem = sizeof(Vec_Vec_t); + Mem += Vec_VecCap(p) * sizeof(void *); + Vec_VecForEachLevelInt( p, vVec, i ) + Mem += sizeof(Vec_Int_t) + Vec_IntCap(vVec) * sizeof(int); + return Mem; +} ABC_NAMESPACE_HEADER_END |