diff options
Diffstat (limited to 'src/backend/lib/bit.c')
-rw-r--r-- | src/backend/lib/bit.c | 45 |
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) ); +} + |