/*------------------------------------------------------------------------- * * bit.c * Standard bit array code. * * Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * * IDENTIFICATION * $Header: /cvsroot/pgsql/src/backend/lib/Attic/bit.c,v 1.15 2002/06/20 20:29:28 momjian Exp $ * *------------------------------------------------------------------------- */ #include "postgres.h" #include "utils/bit.h" void BitArraySetBit(BitArray bitArray, BitIndex bitIndex) { bitArray[bitIndex / BITS_PER_BYTE] |= (1 << (BITS_PER_BYTE - 1 - (bitIndex % BITS_PER_BYTE))); } void BitArrayClearBit(BitArray bitArray, BitIndex bitIndex) { bitArray[bitIndex / BITS_PER_BYTE] &= ~(1 << (BITS_PER_BYTE - 1 - (bitIndex % BITS_PER_BYTE))); } bool BitArrayBitIsSet(BitArray bitArray, BitIndex bitIndex) { return ((bitArray[bitIndex / BITS_PER_BYTE] & (1 << (BITS_PER_BYTE - 1 - (bitIndex % BITS_PER_BYTE))) ) != 0); }