diff options
Diffstat (limited to 'includes/compiler/BitVector.h')
-rw-r--r-- | includes/compiler/BitVector.h | 36 |
1 files changed, 0 insertions, 36 deletions
diff --git a/includes/compiler/BitVector.h b/includes/compiler/BitVector.h deleted file mode 100644 index a6830d6..0000000 --- a/includes/compiler/BitVector.h +++ /dev/null @@ -1,36 +0,0 @@ -#ifndef COMPILER_IROBITVECT_H -#define COMPILER_IROBITVECT_H - -#include "compiler/common.h" -#include "compiler/CError.h" - -typedef struct BitVector { - UInt32 size; - UInt32 data[0]; -} BitVector; - -extern void Bv_AllocVector(BitVector **bv, UInt32 size); -extern void Bv_AllocVectorLocal(BitVector **bv, UInt32 size); -extern void Bv_ClearBit(UInt32 bit, BitVector *bv); -extern void Bv_And(const BitVector *a, BitVector *b); -extern void Bv_Or(const BitVector *a, BitVector *b); -extern Boolean Bv_BitsInCommon(const BitVector *a, const BitVector *b); -extern Boolean Bv_Compare(const BitVector *a, const BitVector *b); -extern void Bv_Minus(const BitVector *a, BitVector *b); -extern void Bv_Copy(const BitVector *src, BitVector *dst); -extern void Bv_Clear(BitVector *bv); -extern void Bv_Set(BitVector *bv); -extern Boolean Bv_IsSubset(const BitVector *a, const BitVector *b); -extern Boolean Bv_IsEmpty(const BitVector *bv); - -CW_INLINE void Bv_SetBit(UInt32 bit, BitVector *bv) { - if ((bit / 32) < bv->size) { - bv->data[bit / 32] |= 1 << (bit & 31); - } else { - CError_FATAL(56); - } -} - -#define Bv_IsBitSet(_bit, _bv) ( (((_bit) >> 5) < (_bv)->size) && ((_bv)->data[(_bit) >> 5] & (1 << ((_bit) & 31))) ) - -#endif |