From 25bab8b1fb2fc851ea3f1f630b3de65ca6afdc22 Mon Sep 17 00:00:00 2001 From: Ash Wolf Date: Wed, 14 Dec 2022 00:16:59 +0000 Subject: haha it's been a while since i last committed, hasn't it --- includes/compiler/BitVectors.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'includes/compiler/BitVectors.h') diff --git a/includes/compiler/BitVectors.h b/includes/compiler/BitVectors.h index 7849dcb..068fec0 100644 --- a/includes/compiler/BitVectors.h +++ b/includes/compiler/BitVectors.h @@ -3,4 +3,19 @@ #include "compiler/common.h" +extern void bitvectorcopy(UInt32 *dst, UInt32 *src, int len); +extern int bitvectorchanged(UInt32 *dst, UInt32 *src, int len); +extern void bitvectorinitialize(UInt32 *vec, int len, UInt32 initval); +extern void bitvectorintersect(UInt32 *dst, UInt32 *src, int len); +extern void bitvectorunion(UInt32 *dst, UInt32 *src, int len); +extern void bitvectordifference(UInt32 *dst, UInt32 *src, int len); +extern void bitvectorcomplement(UInt32 *dst, UInt32 *src, int len); +extern int bitvectorcount(UInt32 *vec, int len); +extern int bitvectorisempty(UInt32 *vec, int len); +extern int bitvectorintersectionisempty(UInt32 *a, UInt32 *b, int len); + +#define bitvectorgetbit(_bit, _vec) ((1 << ((_bit) & 31)) & (_vec)[(_bit) >> 5]) +#define bitvectorsetbit(_bit, _vec) ((_vec)[(_bit) >> 5] |= 1 << ((_bit) & 31)) +#define bitvectorclearbit(_bit, _vec) ((_vec)[(_bit) >> 5] &= ~(1 << ((_bit) & 31))) + #endif -- cgit v1.2.3