summaryrefslogtreecommitdiffstats
path: root/src/misc/vec/vecWrd.h
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2014-06-17 21:00:51 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2014-06-17 21:00:51 -0700
commit85e23c84597c57d45c70125871fb3b6e1352aa90 (patch)
tree76fa0aa729f1bee955fb8f997f8e8a96aae409cf /src/misc/vec/vecWrd.h
parenta03a726de2580b5a58610c4435129d4af66f1c84 (diff)
downloadabc-85e23c84597c57d45c70125871fb3b6e1352aa90.tar.gz
abc-85e23c84597c57d45c70125871fb3b6e1352aa90.tar.bz2
abc-85e23c84597c57d45c70125871fb3b6e1352aa90.zip
Various changes to enable better CNF generation.
Diffstat (limited to 'src/misc/vec/vecWrd.h')
-rw-r--r--src/misc/vec/vecWrd.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/misc/vec/vecWrd.h b/src/misc/vec/vecWrd.h
index 9c33a5ba..c765dd8d 100644
--- a/src/misc/vec/vecWrd.h
+++ b/src/misc/vec/vecWrd.h
@@ -317,6 +317,10 @@ static inline word * Vec_WrdArray( Vec_Wrd_t * p )
{
return p->pArray;
}
+static inline word * Vec_WrdLimit( Vec_Wrd_t * p )
+{
+ return p->pArray + p->nSize;
+}
/**Function*************************************************************
@@ -1080,6 +1084,19 @@ static inline void Vec_WrdUniqify( Vec_Wrd_t * p )
p->pArray[k++] = p->pArray[i];
p->nSize = k;
}
+static inline Vec_Wrd_t * Vec_WrdUniqifyHash( Vec_Wrd_t * vData, int nWordSize )
+{
+ Vec_Int_t * vResInt;
+ Vec_Int_t * vDataInt = (Vec_Int_t *)vData;
+ vDataInt->nSize *= 2;
+ vDataInt->nCap *= 2;
+ vResInt = Vec_IntUniqifyHash( vDataInt, 2 * nWordSize );
+ vDataInt->nSize /= 2;
+ vDataInt->nCap /= 2;
+ vResInt->nSize /= 2;
+ vResInt->nCap /= 2;
+ return (Vec_Wrd_t *)vResInt;
+}
/**Function*************************************************************