*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/lib/Attic/bit.c,v 1.10 2000/08/20 19:31:37 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/lib/Attic/bit.c,v 1.11 2000/08/26 21:53:42 tgl Exp $
*
*-------------------------------------------------------------------------
*/
void
BitArraySetBit(BitArray bitArray, BitIndex bitIndex)
{
- bitArray[bitIndex / BITSPERBYTE] |=
- (1 << (BITSPERBYTE - 1 - (bitIndex % BITSPERBYTE)));
+ bitArray[bitIndex / BITS_PER_BYTE] |=
+ (1 << (BITS_PER_BYTE - 1 - (bitIndex % BITS_PER_BYTE)));
}
void
BitArrayClearBit(BitArray bitArray, BitIndex bitIndex)
{
- bitArray[bitIndex / BITSPERBYTE] &=
- ~(1 << (BITSPERBYTE - 1 - (bitIndex % BITSPERBYTE)));
+ bitArray[bitIndex / BITS_PER_BYTE] &=
+ ~(1 << (BITS_PER_BYTE - 1 - (bitIndex % BITS_PER_BYTE)));
}
bool
BitArrayBitIsSet(BitArray bitArray, BitIndex bitIndex)
{
- return ((bitArray[bitIndex / BITSPERBYTE] &
- (1 << (BITSPERBYTE - 1 - (bitIndex % BITSPERBYTE)))
+ return ((bitArray[bitIndex / BITS_PER_BYTE] &
+ (1 << (BITS_PER_BYTE - 1 - (bitIndex % BITS_PER_BYTE)))
) != 0);
}
* Portions Copyright (c) 1994, Regents of the University of California
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/utils/adt/varbit.c,v 1.8 2000/08/21 04:48:50 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/utils/adt/varbit.c,v 1.9 2000/08/26 21:53:41 tgl Exp $
*
*-------------------------------------------------------------------------
*/
* The bottom ipad bits of the byte pointed to by r need to be
* zero
*/
- if (((*r << (BITSPERBYTE - ipad)) & BITMASK) != 0)
+ if (((*r << (BITS_PER_BYTE - ipad)) & BITMASK) != 0)
elog(ERROR, "zpbit_in: bit string too long for bit(%d)",
atttypmod);
}
* The bottom ipad bits of the byte pointed to by r need to be
* zero
*/
- if (((*r << (BITSPERBYTE - ipad)) & BITMASK) != 0)
+ if (((*r << (BITS_PER_BYTE - ipad)) & BITMASK) != 0)
elog(ERROR, "varbit_in: bit string too long for bit varying(%d)",
atttypmod);
}
sp = VARBITS(s);
r = result;
*r++ = 'B';
- for (i = 0; i < len - BITSPERBYTE; i += BITSPERBYTE, sp++)
+ for (i = 0; i < len - BITS_PER_BYTE; i += BITS_PER_BYTE, sp++)
{
x = *sp;
- for (k = 0; k < BITSPERBYTE; k++)
+ for (k = 0; k < BITS_PER_BYTE; k++)
{
*r++ = (x & BITHIGH) ? '1' : '0';
x <<= 1;
else if (bitlen2 > 0)
{
/* We need to shift all the bits to fit */
- bit2shift = BITSPERBYTE - bit1pad;
+ bit2shift = BITS_PER_BYTE - bit1pad;
pr = VARBITS(result) + VARBITBYTES(arg1) - 1;
for (pa = VARBITS(arg2); pa < VARBITEND(arg2); pa++)
{
VARBITLEN(result) = rbitlen;
len -= VARHDRSZ + VARBITHDRSZ;
/* Are we copying from a byte boundary? */
- if ((s1 - 1) % BITSPERBYTE == 0)
+ if ((s1 - 1) % BITS_PER_BYTE == 0)
{
/* Yep, we are copying bytes */
- memcpy(VARBITS(result), VARBITS(arg) + (s1 - 1) / BITSPERBYTE,
+ memcpy(VARBITS(result), VARBITS(arg) + (s1 - 1) / BITS_PER_BYTE,
len);
}
else
{
/* Figure out how much we need to shift the sequence by */
- ishift = (s1 - 1) % BITSPERBYTE;
+ ishift = (s1 - 1) % BITS_PER_BYTE;
r = VARBITS(result);
- ps = VARBITS(arg) + (s1 - 1) / BITSPERBYTE;
+ ps = VARBITS(arg) + (s1 - 1) / BITS_PER_BYTE;
for (i = 0; i < len; i++)
{
*r = (*ps << ishift) & BITMASK;
if ((++ps) < VARBITEND(arg))
- *r |= *ps >> (BITSPERBYTE - ishift);
+ *r |= *ps >> (BITS_PER_BYTE - ishift);
r++;
}
}
PG_RETURN_VARBIT_P(result);
}
- byte_shift = shft / BITSPERBYTE;
- ishift = shft % BITSPERBYTE;
+ byte_shift = shft / BITS_PER_BYTE;
+ ishift = shft % BITS_PER_BYTE;
p = VARBITS(arg) + byte_shift;
if (ishift == 0)
{
*r = *p << ishift;
if ((++p) < VARBITEND(arg))
- *r |= *p >> (BITSPERBYTE - ishift);
+ *r |= *p >> (BITS_PER_BYTE - ishift);
}
for (; r < VARBITEND(result); r++)
*r = 0;
PG_RETURN_VARBIT_P(result);
}
- byte_shift = shft / BITSPERBYTE;
- ishift = shft % BITSPERBYTE;
+ byte_shift = shft / BITS_PER_BYTE;
+ ishift = shft % BITS_PER_BYTE;
p = VARBITS(arg);
/* Set the first part of the result to 0 */
{
*r |= *p >> ishift;
if ((++r) < VARBITEND(result))
- *r = (*p << (BITSPERBYTE - ishift)) & BITMASK;
+ *r = (*p << (BITS_PER_BYTE - ishift)) & BITMASK;
}
}
int len;
/* allocate enough space for the bits in an int4 */
- len = VARBITTOTALLEN(sizeof(int4)*BITSPERBYTE);
+ len = VARBITTOTALLEN(sizeof(int4)*BITS_PER_BYTE);
result = (VarBit *) palloc(len);
VARATT_SIZEP(result) = len;
- VARBITLEN(result) = sizeof(int4)*BITSPERBYTE;
+ VARBITLEN(result) = sizeof(int4)*BITS_PER_BYTE;
/* masks and shifts here are just too painful and we know that an int4 has
* got 4 bytes
*/
r = VARBITS(result);
- r[0] = (bits8) ((a >> (3*BITSPERBYTE)) & BITMASK);
- r[1] = (bits8) ((a >> (2*BITSPERBYTE)) & BITMASK);
- r[2] = (bits8) ((a >> (1*BITSPERBYTE)) & BITMASK);
+ r[0] = (bits8) ((a >> (3*BITS_PER_BYTE)) & BITMASK);
+ r[1] = (bits8) ((a >> (2*BITS_PER_BYTE)) & BITMASK);
+ r[2] = (bits8) ((a >> (1*BITS_PER_BYTE)) & BITMASK);
r[3] = (bits8) (a & BITMASK);
PG_RETURN_VARBIT_P(result);
bits8 *r;
/* Check that the bit string is not too long */
- if (VARBITLEN(arg) > sizeof(int4)*BITSPERBYTE)
+ if (VARBITLEN(arg) > sizeof(int4)*BITS_PER_BYTE)
elog(ERROR, "Bit string is too large to fit in an int4");
result = 0;
for (r = VARBITS(arg); r < VARBITEND(arg); r++)
{
- result <<= BITSPERBYTE;
+ result <<= BITS_PER_BYTE;
result |= *r;
}
/* Now shift the result to take account of the padding at the end */
* Portions Copyright (c) 1996-2000, PostgreSQL, Inc
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $Id: varbit.h,v 1.6 2000/08/21 04:48:54 tgl Exp $
+ * $Id: varbit.h,v 1.7 2000/08/26 21:53:40 tgl Exp $
*
*-------------------------------------------------------------------------
*/
/* Number of bytes in the data section of a bit string */
#define VARBITBYTES(PTR) (VARSIZE(PTR) - VARHDRSZ - VARBITHDRSZ)
/* Padding of the bit string at the end (in bits) */
-#define VARBITPAD(PTR) (VARBITBYTES(PTR)*BITSPERBYTE - VARBITLEN(PTR))
+#define VARBITPAD(PTR) (VARBITBYTES(PTR)*BITS_PER_BYTE - VARBITLEN(PTR))
/* Number of bytes needed to store a bit string of a given length */
-#define VARBITTOTALLEN(BITLEN) (((BITLEN) + BITSPERBYTE-1)/BITSPERBYTE + \
+#define VARBITTOTALLEN(BITLEN) (((BITLEN) + BITS_PER_BYTE-1)/BITS_PER_BYTE + \
VARHDRSZ + VARBITHDRSZ)
/* pointer beyond the end of the bit string (like end() in STL containers) */
#define VARBITEND(PTR) (((bits8 *) (PTR)) + VARSIZE(PTR))
-/* Mask that will cover exactly one byte, i.e. BITSPERBYTE bits */
+/* Mask that will cover exactly one byte, i.e. BITS_PER_BYTE bits */
#define BITMASK 0xFF
#define BITHIGH 0x80