summaryrefslogtreecommitdiffstats
path: root/src/misc/vec
diff options
context:
space:
mode:
Diffstat (limited to 'src/misc/vec')
-rw-r--r--src/misc/vec/vecFlt.h10
-rw-r--r--src/misc/vec/vecInt.h10
-rw-r--r--src/misc/vec/vecPtr.h10
-rw-r--r--src/misc/vec/vecStr.h10
-rw-r--r--src/misc/vec/vecWec.h10
-rw-r--r--src/misc/vec/vecWrd.h10
6 files changed, 60 insertions, 0 deletions
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*************************************************************