From 0f22046bcb71ba096fedfc6a75b6bc7fd4090e70 Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Tue, 27 Jan 2015 09:54:35 -0800 Subject: New assertions and bug fix in DSD balancing. --- src/misc/vec/vecFlt.h | 10 ++++++++++ src/misc/vec/vecInt.h | 10 ++++++++++ src/misc/vec/vecPtr.h | 10 ++++++++++ src/misc/vec/vecStr.h | 10 ++++++++++ src/misc/vec/vecWec.h | 10 ++++++++++ src/misc/vec/vecWrd.h | 10 ++++++++++ 6 files changed, 60 insertions(+) (limited to 'src/misc/vec') diff --git a/src/misc/vec/vecFlt.h b/src/misc/vec/vecFlt.h index 8f3005a4..482973f7 100644 --- a/src/misc/vec/vecFlt.h +++ b/src/misc/vec/vecFlt.h @@ -86,6 +86,16 @@ static inline Vec_Flt_t * Vec_FltAlloc( int nCap ) p->pArray = p->nCap? ABC_ALLOC( float, p->nCap ) : NULL; return p; } +static inline Vec_Flt_t * Vec_FltAllocExact( int nCap ) +{ + Vec_Flt_t * p; + assert( nCap >= 0 ); + p = ABC_ALLOC( Vec_Flt_t, 1 ); + p->nSize = 0; + p->nCap = nCap; + p->pArray = p->nCap? ABC_ALLOC( float, p->nCap ) : NULL; + return p; +} /**Function************************************************************* diff --git a/src/misc/vec/vecInt.h b/src/misc/vec/vecInt.h index 3e195bd3..e37743c5 100644 --- a/src/misc/vec/vecInt.h +++ b/src/misc/vec/vecInt.h @@ -96,6 +96,16 @@ static inline Vec_Int_t * Vec_IntAlloc( int nCap ) p->pArray = p->nCap? ABC_ALLOC( int, p->nCap ) : NULL; return p; } +static inline Vec_Int_t * Vec_IntAllocExact( int nCap ) +{ + Vec_Int_t * p; + assert( nCap >= 0 ); + p = ABC_ALLOC( Vec_Int_t, 1 ); + p->nSize = 0; + p->nCap = nCap; + p->pArray = p->nCap? ABC_ALLOC( int, p->nCap ) : NULL; + return p; +} /**Function************************************************************* diff --git a/src/misc/vec/vecPtr.h b/src/misc/vec/vecPtr.h index 516429ff..5fa40112 100644 --- a/src/misc/vec/vecPtr.h +++ b/src/misc/vec/vecPtr.h @@ -91,6 +91,16 @@ static inline Vec_Ptr_t * Vec_PtrAlloc( int nCap ) p->pArray = p->nCap? ABC_ALLOC( void *, p->nCap ) : NULL; return p; } +static inline Vec_Ptr_t * Vec_PtrAllocExact( int nCap ) +{ + Vec_Ptr_t * p; + assert( nCap >= 0 ); + p = ABC_ALLOC( Vec_Ptr_t, 1 ); + p->nSize = 0; + p->nCap = nCap; + p->pArray = p->nCap? ABC_ALLOC( void *, p->nCap ) : NULL; + return p; +} /**Function************************************************************* diff --git a/src/misc/vec/vecStr.h b/src/misc/vec/vecStr.h index 5f04615c..4198ac82 100644 --- a/src/misc/vec/vecStr.h +++ b/src/misc/vec/vecStr.h @@ -80,6 +80,16 @@ static inline Vec_Str_t * Vec_StrAlloc( int nCap ) p->pArray = p->nCap? ABC_ALLOC( char, p->nCap ) : NULL; return p; } +static inline Vec_Str_t * Vec_StrAllocExact( int nCap ) +{ + Vec_Str_t * p; + assert( nCap >= 0 ); + p = ABC_ALLOC( Vec_Str_t, 1 ); + p->nSize = 0; + p->nCap = nCap; + p->pArray = p->nCap? ABC_ALLOC( char, p->nCap ) : NULL; + return p; +} /**Function************************************************************* diff --git a/src/misc/vec/vecWec.h b/src/misc/vec/vecWec.h index f2fe3216..b09852ff 100644 --- a/src/misc/vec/vecWec.h +++ b/src/misc/vec/vecWec.h @@ -95,6 +95,16 @@ static inline Vec_Wec_t * Vec_WecAlloc( int nCap ) p->pArray = p->nCap? ABC_CALLOC( Vec_Int_t, p->nCap ) : NULL; return p; } +static inline Vec_Wec_t * Vec_WecAllocExact( int nCap ) +{ + Vec_Wec_t * p; + assert( nCap >= 0 ); + p = ABC_ALLOC( Vec_Wec_t, 1 ); + p->nSize = 0; + p->nCap = nCap; + p->pArray = p->nCap? ABC_CALLOC( Vec_Int_t, p->nCap ) : NULL; + return p; +} static inline Vec_Wec_t * Vec_WecStart( int nSize ) { Vec_Wec_t * p; diff --git a/src/misc/vec/vecWrd.h b/src/misc/vec/vecWrd.h index 5688d7b2..5227fec5 100644 --- a/src/misc/vec/vecWrd.h +++ b/src/misc/vec/vecWrd.h @@ -88,6 +88,16 @@ static inline Vec_Wrd_t * Vec_WrdAlloc( int nCap ) p->pArray = p->nCap? ABC_ALLOC( word, p->nCap ) : NULL; return p; } +static inline Vec_Wrd_t * Vec_WrdAllocExact( int nCap ) +{ + Vec_Wrd_t * p; + assert( nCap >= 0 ); + p = ABC_ALLOC( Vec_Wrd_t, 1 ); + p->nSize = 0; + p->nCap = nCap; + p->pArray = p->nCap? ABC_ALLOC( word, p->nCap ) : NULL; + return p; +} /**Function************************************************************* -- cgit v1.2.3