*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/lib/Attic/bit.c,v 1.9 2000/01/26 05:56:26 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/lib/Attic/bit.c,v 1.10 2000/08/20 19:31:37 tgl Exp $
*
*-------------------------------------------------------------------------
*/
-/*
- * utils/memutils.h contains declarations of the functions in this file
- */
#include "postgres.h"
#include "utils/bit.h"
+
void
BitArraySetBit(BitArray bitArray, BitIndex bitIndex)
{
- bitArray[bitIndex / BitsPerByte]
- |= (1 << (BitsPerByte - (bitIndex % BitsPerByte) - 1));
- return;
+ bitArray[bitIndex / BITSPERBYTE] |=
+ (1 << (BITSPERBYTE - 1 - (bitIndex % BITSPERBYTE)));
}
void
BitArrayClearBit(BitArray bitArray, BitIndex bitIndex)
{
- bitArray[bitIndex / BitsPerByte]
- &= ~(1 << (BitsPerByte - (bitIndex % BitsPerByte) - 1));
- return;
+ bitArray[bitIndex / BITSPERBYTE] &=
+ ~(1 << (BITSPERBYTE - 1 - (bitIndex % BITSPERBYTE)));
}
bool
BitArrayBitIsSet(BitArray bitArray, BitIndex bitIndex)
{
- return ((bool) (((bitArray[bitIndex / BitsPerByte] &
- (1 << (BitsPerByte - (bitIndex % BitsPerByte)
- - 1)
- )
- ) != 0) ? 1 : 0));
+ return ((bitArray[bitIndex / BITSPERBYTE] &
+ (1 << (BITSPERBYTE - 1 - (bitIndex % BITSPERBYTE)))
+ ) != 0);
}
* Portions Copyright (c) 1996-2000, PostgreSQL, Inc
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $Id: bit.h,v 1.7 2000/01/26 05:58:37 momjian Exp $
+ * $Id: bit.h,v 1.8 2000/08/20 19:31:37 tgl Exp $
*
*-------------------------------------------------------------------------
*/
typedef bits8 *BitArray;
typedef uint32 BitIndex;
-#define BitsPerByte 8
-
/*
* BitArraySetBit
* Sets (to 1) the value of a bit in a bit array.