aboutsummaryrefslogtreecommitdiff
path: root/src/backend/lib/bit.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/lib/bit.c')
-rw-r--r--src/backend/lib/bit.c45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/backend/lib/bit.c b/src/backend/lib/bit.c
new file mode 100644
index 00000000000..9aa12b48502
--- /dev/null
+++ b/src/backend/lib/bit.c
@@ -0,0 +1,45 @@
+/*-------------------------------------------------------------------------
+ *
+ * bit.c--
+ * Standard bit array code.
+ *
+ * Copyright (c) 1994, Regents of the University of California
+ *
+ *
+ * IDENTIFICATION
+ * $Header: /cvsroot/pgsql/src/backend/lib/Attic/bit.c,v 1.1.1.1 1996/07/09 06:21:28 scrappy Exp $
+ *
+ *-------------------------------------------------------------------------
+ */
+
+/*
+ * utils/memutils.h contains declarations of the functions in this file
+ */
+#include "utils/memutils.h"
+
+void
+BitArraySetBit(BitArray bitArray, BitIndex bitIndex)
+{
+ bitArray[bitIndex/BitsPerByte]
+ |= (1 << (BitsPerByte - (bitIndex % BitsPerByte) - 1));
+ return;
+}
+
+void
+BitArrayClearBit(BitArray bitArray, BitIndex bitIndex)
+{
+ bitArray[bitIndex/BitsPerByte]
+ &= ~(1 << (BitsPerByte - (bitIndex % BitsPerByte) - 1));
+ return;
+}
+
+bool
+BitArrayBitIsSet(BitArray bitArray, BitIndex bitIndex)
+{
+ return( (bool) (((bitArray[bitIndex / BitsPerByte] &
+ (1 << (BitsPerByte - (bitIndex % BitsPerByte)
+ - 1)
+ )
+ ) != 0 ) ? 1 : 0) );
+}
+