From 735a831e13684334d55b422993a80d94d356f180 Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Fri, 22 Jun 2012 10:30:22 -0700 Subject: Added memory reporting to &vta. --- src/misc/vec/vecVec.h | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) (limited to 'src/misc/vec/vecVec.h') 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 @@ -236,6 +236,22 @@ static inline int Vec_VecSize( Vec_Vec_t * p ) return p->nSize; } +/**Function************************************************************* + + Synopsis [] + + Description [] + + SideEffects [] + + SeeAlso [] + +***********************************************************************/ +static inline int Vec_VecCap( Vec_Vec_t * p ) +{ + return p->nCap; +} + /**Function************************************************************* Synopsis [] @@ -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 -- cgit v1.2.3