#define SIGPTR(x) ( (BITVECP) ARR_DATA_PTR(x) )
-#define LOOPBYTE(a) \
- for(i=0;i<SIGLEN;i++) {\
- a;\
- }
+#define LOOPBYTE \
+ for(i=0;i<SIGLEN;i++)
-#define LOOPBIT(a) \
- for(i=0;i<SIGLENBIT;i++) {\
- a;\
- }
+#define LOOPBIT \
+ for(i=0;i<SIGLENBIT;i++)
/* beware of multiple evaluation of arguments to these macros! */
#define GETBYTE(x,i) ( *( (BITVECP)(x) + (int)( (i) / BITBYTE ) ) )
GISTTYPE *res;
BITVECP sign = GETSIGN(DatumGetPointer(entry->key));
- LOOPBYTE(
- if ((sign[i] & 0xff) != 0xff)
+ LOOPBYTE
+ {
+ if ((sign[i] & 0xff) != 0xff)
PG_RETURN_POINTER(retval);
- );
+ }
res = (GISTTYPE *) palloc(CALCGTSIZE(ALLISTRUE));
SET_VARSIZE(res, CALCGTSIZE(ALLISTRUE));
sb = GETSIGN(b);
*result = true;
- LOOPBYTE(
- if (sa[i] != sb[i])
- {
- *result = false;
- break;
+ LOOPBYTE
+ {
+ if (sa[i] != sb[i])
+ {
+ *result = false;
+ break;
+ }
}
- );
}
PG_RETURN_POINTER(result);
}
int4 size = 0,
i;
- LOOPBYTE(
- size += SUMBIT(sign);
- sign = (BITVECP) (((char *) sign) + 1);
- );
+ LOOPBYTE
+ {
+ size += SUMBIT(sign);
+ sign = (BITVECP) (((char *) sign) + 1);
+ }
return size;
}
int i,
dist = 0;
- LOOPBIT(
- if (GETBIT(a, i) != GETBIT(b, i))
+ LOOPBIT
+ {
+ if (GETBIT(a, i) != GETBIT(b, i))
dist++;
- );
+ }
return dist;
}
if (ISALLTRUE(add))
return 1;
- LOOPBYTE(
- sbase[i] |= sadd[i];
- );
+ LOOPBYTE
+ sbase[i] |= sadd[i];
return 0;
}
else
{
ptr = GETSIGN(_j);
- LOOPBYTE(
- union_l[i] |= ptr[i];
- );
+ LOOPBYTE
+ union_l[i] |= ptr[i];
}
*left++ = j;
v->spl_nleft++;
else
{
ptr = GETSIGN(_j);
- LOOPBYTE(
- union_r[i] |= ptr[i];
- );
+ LOOPBYTE
+ union_r[i] |= ptr[i];
}
*right++ = j;
v->spl_nright++;
typedef char BITVEC[SIGLEN];
typedef char *BITVECP;
-#define LOOPBYTE(a) \
- for(i=0;i<SIGLEN;i++) {\
- a;\
- }
+#define LOOPBYTE \
+ for(i=0;i<SIGLEN;i++)
/* beware of multiple evaluation of arguments to these macros! */
#define GETBYTE(x,i) ( *( (BITVECP)(x) + (int)( (i) / BITS_PER_BYTE ) ) )
sb = GETSIGN(b);
*result = true;
- LOOPBYTE(
- if (sa[i] != sb[i])
- {
- *result = false;
- break;
+ LOOPBYTE
+ {
+ if (sa[i] != sb[i])
+ {
+ *result = false;
+ break;
+ }
}
- );
}
PG_RETURN_POINTER(result);
}
BITVECP sign = GETSIGN(DatumGetPointer(entry->key));
GISTTYPE *res;
- LOOPBYTE(
- if ((sign[i] & 0xff) != 0xff)
- PG_RETURN_POINTER(entry);
- );
+ LOOPBYTE
+ {
+ if ((sign[i] & 0xff) != 0xff)
+ PG_RETURN_POINTER(entry);
+ }
res = (GISTTYPE *) palloc(CALCGTSIZE(ALLISTRUE));
SET_VARSIZE(res, CALCGTSIZE(ALLISTRUE));
int4 size = 0,
i;
- LOOPBYTE(
- size += number_of_ones[(unsigned char) sign[i]];
- );
+ LOOPBYTE
+ size += number_of_ones[(unsigned char) sign[i]];
return size;
}
diff,
dist = 0;
- LOOPBYTE(
- diff = (unsigned char) (a[i] ^ b[i]);
- dist += number_of_ones[diff];
- );
+ LOOPBYTE
+ {
+ diff = (unsigned char) (a[i] ^ b[i]);
+ dist += number_of_ones[diff];
+ }
return dist;
}
if (ISALLTRUE(add))
return 1;
- LOOPBYTE(
- sbase[i] |= sadd[i];
- );
+ LOOPBYTE
+ sbase[i] |= sadd[i];
return 0;
}
else
{
ptr = GETSIGN(_j);
- LOOPBYTE(
- union_l[i] |= ptr[i];
- );
+ LOOPBYTE
+ union_l[i] |= ptr[i];
}
*left++ = j;
v->spl_nleft++;
else
{
ptr = GETSIGN(_j);
- LOOPBYTE(
- union_r[i] |= ptr[i];
- );
+ LOOPBYTE
+ union_r[i] |= ptr[i];
}
*right++ = j;
v->spl_nright++;
de = GETSIGN((GISTTYPE *) DatumGetPointer(entry->key));
dq = qp;
retval = true;
- LOOPBYTE(
- if (de[i] != dq[i])
- {
- retval = false;
- break;
+ LOOPBYTE
+ {
+ if (de[i] != dq[i])
+ {
+ retval = false;
+ break;
+ }
}
- );
}
else
de = GETSIGN((GISTTYPE *) DatumGetPointer(entry->key));
dq = qp;
retval = true;
- LOOPBYTE(
- if (de[i] & ~dq[i])
- {
- retval = false;
- break;
+ LOOPBYTE
+ {
+ if (de[i] & ~dq[i])
+ {
+ retval = false;
+ break;
+ }
}
- );
-
}
else
retval = _intbig_overlap((GISTTYPE *) DatumGetPointer(entry->key), query);
BITVECP sign = LTG_SIGN(DatumGetPointer(entry->key));
- ALOOPBYTE(
- if ((sign[i] & 0xff) != 0xff)
- PG_RETURN_POINTER(retval);
- );
+ ALOOPBYTE
+ {
+ if ((sign[i] & 0xff) != 0xff)
+ PG_RETURN_POINTER(retval);
+ }
len = LTG_HDRSIZE;
key = (ltree_gist *) palloc(len);
SET_VARSIZE(key, len);
sb = LTG_SIGN(b);
*result = true;
- ALOOPBYTE(
- if (sa[i] != sb[i])
- {
- *result = false;
- break;
+ ALOOPBYTE
+ {
+ if (sa[i] != sb[i])
+ {
+ *result = false;
+ break;
+ }
}
- );
}
PG_RETURN_POINTER(result);
}
if (LTG_ISALLTRUE(add))
return 1;
- ALOOPBYTE(
- sbase[i] |= sadd[i];
- );
+ ALOOPBYTE
+ sbase[i] |= sadd[i];
return 0;
}
int4 size = 0,
i;
- ALOOPBYTE(
- size += number_of_ones[(unsigned char) sign[i]];
- );
+ ALOOPBYTE
+ size += number_of_ones[(unsigned char) sign[i]];
return size;
}
diff,
dist = 0;
- ALOOPBYTE(
- diff = (unsigned char) (a[i] ^ b[i]);
- dist += number_of_ones[diff];
- );
+ ALOOPBYTE
+ {
+ diff = (unsigned char) (a[i] ^ b[i]);
+ dist += number_of_ones[diff];
+ }
return dist;
}
else
{
ptr = LTG_SIGN(_j);
- ALOOPBYTE(
- union_l[i] |= ptr[i];
- );
+ ALOOPBYTE
+ union_l[i] |= ptr[i];
}
*left++ = j;
v->spl_nleft++;
else
{
ptr = LTG_SIGN(_j);
- ALOOPBYTE(
- union_r[i] |= ptr[i];
- );
+ ALOOPBYTE
+ union_r[i] |= ptr[i];
}
*right++ = j;
v->spl_nright++;
-/* $PostgreSQL: pgsql/contrib/ltree/ltree.h,v 1.18 2007/02/28 22:44:38 tgl Exp $ */
+/* $PostgreSQL: pgsql/contrib/ltree/ltree.h,v 1.19 2007/11/16 00:13:02 momjian Exp $ */
#ifndef __LTREE_H__
#define __LTREE_H__
typedef unsigned char BITVEC[SIGLEN];
typedef unsigned char *BITVECP;
-#define LOOPBYTE(a) \
- for(i=0;i<SIGLEN;i++) {\
- a;\
- }
+#define LOOPBYTE \
+ for(i=0;i<SIGLEN;i++)
#define GETBYTE(x,i) ( *( (BITVECP)(x) + (int)( (i) / BITBYTE ) ) )
#define GETBITBYTE(x,i) ( ((unsigned char)(x)) >> i & 0x01 )
#define ASIGLENBIT (ASIGLEN*BITBYTE)
typedef unsigned char ABITVEC[ASIGLEN];
-#define ALOOPBYTE(a) \
- for(i=0;i<ASIGLEN;i++) {\
- a;\
- }
+#define ALOOPBYTE \
+ for(i=0;i<ASIGLEN;i++)
#define AHASHVAL(val) (((unsigned int)(val)) % ASIGLENBIT)
#define AHASH(sign, val) SETBIT((sign), AHASHVAL(val))
/*
* GiST support for ltree
* Teodor Sigaev <teodor@stack.net>
- * $PostgreSQL: pgsql/contrib/ltree/ltree_gist.c,v 1.20 2007/02/28 22:44:38 tgl Exp $
+ * $PostgreSQL: pgsql/contrib/ltree/ltree_gist.c,v 1.21 2007/11/16 00:13:02 momjian Exp $
*/
#include "ltree.h"
*result = true;
if (!LTG_ISALLTRUE(a))
- LOOPBYTE(
- if (sa[i] != sb[i])
- {
- *result = false;
- break;
+ {
+ LOOPBYTE
+ {
+ if (sa[i] != sb[i])
+ {
+ *result = false;
+ break;
+ }
}
- );
+ }
}
PG_RETURN_POINTER(result);
{
BITVECP sc = LTG_SIGN(cur);
- LOOPBYTE(
- ((unsigned char *) base)[i] |= sc[i];
- );
+ LOOPBYTE
+ ((unsigned char *) base)[i] |= sc[i];
}
curtree = LTG_LNODE(cur);
if (isalltrue == false)
{
isalltrue = true;
- LOOPBYTE(
- if (((unsigned char *) base)[i] != 0xff)
- {
- isalltrue = false;
- break;
+ LOOPBYTE
+ {
+ if (((unsigned char *) base)[i] != 0xff)
+ {
+ isalltrue = false;
+ break;
+ }
}
- );
}
isleqr = (left == right || ISEQ(left, right)) ? true : false;
{
BITVECP sc = LTG_SIGN(lu);
- LOOPBYTE(
- ((unsigned char *) ls)[i] |= sc[i];
- );
+ LOOPBYTE
+ ((unsigned char *) ls)[i] |= sc[i];
}
}
}
{
BITVECP sc = LTG_SIGN(lu);
- LOOPBYTE(
- ((unsigned char *) rs)[i] |= sc[i];
- );
+ LOOPBYTE
+ ((unsigned char *) rs)[i] |= sc[i];
}
}
}
if (lisat == false)
{
lisat = true;
- LOOPBYTE(
- if (((unsigned char *) ls)[i] != 0xff)
- {
- lisat = false;
- break;
+ LOOPBYTE
+ {
+ if (((unsigned char *) ls)[i] != 0xff)
+ {
+ lisat = false;
+ break;
+ }
}
- );
}
if (risat == false)
{
risat = true;
- LOOPBYTE(
- if (((unsigned char *) rs)[i] != 0xff)
- {
- risat = false;
- break;
+ LOOPBYTE
+ {
+ if (((unsigned char *) rs)[i] != 0xff)
+ {
+ risat = false;
+ break;
+ }
}
- );
}
lu_l = LTG_GETLNODE(GETENTRY(entryvec, array[FirstOffsetNumber].index));
typedef char BITVEC[SIGLEN];
typedef char *BITVECP;
-#define LOOPBYTE(a) \
- for(i=0;i<SIGLEN;i++) {\
- a;\
- }
+#define LOOPBYTE \
+ for(i=0;i<SIGLEN;i++)
#define GETBYTE(x,i) ( *( (BITVECP)(x) + (int)( (i) / BITBYTE ) ) )
#define GETBITBYTE(x,i) ( ((char)(x)) >> i & 0x01 )
TRGM *res;
BITVECP sign = GETSIGN(DatumGetPointer(entry->key));
- LOOPBYTE(
- if ((sign[i] & 0xff) != 0xff)
+ LOOPBYTE
+ {
+ if ((sign[i] & 0xff) != 0xff)
PG_RETURN_POINTER(retval);
- );
+ }
len = CALCGTSIZE(SIGNKEY | ALLISTRUE, 0);
res = (TRGM *) palloc(len);
if (ISALLTRUE(add))
return 1;
- LOOPBYTE(
- sbase[i] |= sadd[i];
- );
+ LOOPBYTE
+ sbase[i] |= sadd[i];
}
else
{
sb = GETSIGN(b);
*result = true;
- LOOPBYTE(
- if (sa[i] != sb[i])
- {
- *result = false;
- break;
+ LOOPBYTE
+ {
+ if (sa[i] != sb[i])
+ {
+ *result = false;
+ break;
+ }
}
- );
}
}
else
int4 size = 0,
i;
- LOOPBYTE(
- size += number_of_ones[(unsigned char) sign[i]];
- );
+ LOOPBYTE
+ size += number_of_ones[(unsigned char) sign[i]];
return size;
}
diff,
dist = 0;
- LOOPBYTE(
- diff = (unsigned char) (a[i] ^ b[i]);
- dist += number_of_ones[diff];
- );
+ LOOPBYTE
+ {
+ diff = (unsigned char) (a[i] ^ b[i]);
+ dist += number_of_ones[diff];
+ }
return dist;
}
else
{
ptr = cache[j].sign;
- LOOPBYTE(
- union_l[i] |= ptr[i];
- );
+ LOOPBYTE
+ union_l[i] |= ptr[i];
}
*left++ = j;
v->spl_nleft++;
else
{
ptr = cache[j].sign;
- LOOPBYTE(
- union_r[i] |= ptr[i];
- );
+ LOOPBYTE
+ union_r[i] |= ptr[i];
}
*right++ = j;
v->spl_nright++;
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/utils/adt/tsgistidx.c,v 1.4 2007/09/11 08:46:29 teodor Exp $
+ * $PostgreSQL: pgsql/src/backend/utils/adt/tsgistidx.c,v 1.5 2007/11/16 00:13:02 momjian Exp $
*
*-------------------------------------------------------------------------
*/
typedef char BITVEC[SIGLEN];
typedef char *BITVECP;
-#define LOOPBYTE(a) \
- for(i=0;i<SIGLEN;i++) {\
- a;\
-}
+#define LOOPBYTE \
+ for(i=0;i<SIGLEN;i++)
#define GETBYTE(x,i) ( *( (BITVECP)(x) + (int)( (i) / BITS_PER_BYTE ) ) )
#define GETBITBYTE(x,i) ( ((char)(x)) >> (i) & 0x01 )
SignTSVector *res;
BITVECP sign = GETSIGN(DatumGetPointer(entry->key));
- LOOPBYTE(
- if ((sign[i] & 0xff) != 0xff)
+ LOOPBYTE
+ {
+ if ((sign[i] & 0xff) != 0xff)
PG_RETURN_POINTER(retval);
- );
+ }
len = CALCGTSIZE(SIGNKEY | ALLISTRUE, 0);
res = (SignTSVector *) palloc(len);
if (ISALLTRUE(add))
return 1;
- LOOPBYTE(
- sbase[i] |= sadd[i];
- );
+ LOOPBYTE
+ sbase[i] |= sadd[i];
}
else
{
sb = GETSIGN(b);
*result = true;
- LOOPBYTE(
- if (sa[i] != sb[i])
- {
- *result = false;
- break;
+ LOOPBYTE
+ {
+ if (sa[i] != sb[i])
+ {
+ *result = false;
+ break;
+ }
}
- );
}
}
else
int4 size = 0,
i;
- LOOPBYTE(
- size += number_of_ones[(unsigned char) sign[i]];
- );
+ LOOPBYTE
+ size += number_of_ones[(unsigned char) sign[i]];
return size;
}
diff,
dist = 0;
- LOOPBYTE(
- diff = (unsigned char) (a[i] ^ b[i]);
- dist += number_of_ones[diff];
- );
+ LOOPBYTE
+ {
+ diff = (unsigned char) (a[i] ^ b[i]);
+ dist += number_of_ones[diff];
+ }
return dist;
}
else
{
ptr = cache[j].sign;
- LOOPBYTE(
- union_l[i] |= ptr[i];
- );
+ LOOPBYTE
+ union_l[i] |= ptr[i];
}
*left++ = j;
v->spl_nleft++;
else
{
ptr = cache[j].sign;
- LOOPBYTE(
- union_r[i] |= ptr[i];
- );
+ LOOPBYTE
+ union_r[i] |= ptr[i];
}
*right++ = j;
v->spl_nright++;