OSDN Git Service

Use postgres-wide macros BITS_PER_BYTE instead self-definenig macros, also use it...
authorTeodor Sigaev <teodor@sigaev.ru>
Mon, 14 Nov 2005 14:44:06 +0000 (14:44 +0000)
committerTeodor Sigaev <teodor@sigaev.ru>
Mon, 14 Nov 2005 14:44:06 +0000 (14:44 +0000)
contrib/tsearch2/gistidx.h
contrib/tsearch2/query_gist.c

index 7e24353..3f72252 100644 (file)
@@ -9,11 +9,10 @@
  * signature defines
  */
 
-#define BITBYTE 8
 #define SIGLENINT  63                  /* >121 => key will toast, so it will not work
                                                                 * !!! */
 #define SIGLEN ( sizeof(int4) * SIGLENINT )
-#define SIGLENBIT (SIGLEN * BITBYTE)
+#define SIGLENBIT (SIGLEN * BITS_PER_BYTE)
 
 typedef char BITVEC[SIGLEN];
 typedef char *BITVECP;
@@ -27,11 +26,11 @@ typedef char *BITVECP;
                                                                a;\
                                }
 
-#define GETBYTE(x,i) ( *( (BITVECP)(x) + (int)( (i) / BITBYTE ) ) )
+#define GETBYTE(x,i) ( *( (BITVECP)(x) + (int)( (i) / BITS_PER_BYTE ) ) )
 #define GETBITBYTE(x,i) ( ((char)(x)) >> (i) & 0x01 )
-#define CLRBIT(x,i)   GETBYTE(x,i) &= ~( 0x01 << ( (i) % BITBYTE ) )
-#define SETBIT(x,i)   GETBYTE(x,i) |=  ( 0x01 << ( (i) % BITBYTE ) )
-#define GETBIT(x,i) ( (GETBYTE(x,i) >> ( (i) % BITBYTE )) & 0x01 )
+#define CLRBIT(x,i)   GETBYTE(x,i) &= ~( 0x01 << ( (i) % BITS_PER_BYTE ) )
+#define SETBIT(x,i)   GETBYTE(x,i) |=  ( 0x01 << ( (i) % BITS_PER_BYTE ) )
+#define GETBIT(x,i) ( (GETBYTE(x,i) >> ( (i) % BITS_PER_BYTE )) & 0x01 )
 
 #define HASHVAL(val) (((unsigned int)(val)) % SIGLENBIT)
 #define HASH(sign, val) SETBIT((sign), HASHVAL(val))
index 34bbf37..c14ece0 100644 (file)
@@ -7,6 +7,8 @@
 #include "query.h"
 
 typedef uint64 TPQTGist;
+#define        SIGLEN  (sizeof(TPQTGist)*BITS_PER_BYTE)
+
 
 #define GETENTRY(vec,pos) ((TPQTGist *) DatumGetPointer((vec)->vector[(pos)].key))
 
@@ -24,7 +26,7 @@ makesign(QUERYTYPE* a) {
 
         for (i = 0; i < a->size; i++) {
                if ( ptr->type == VAL )
-                       sign |= 1 << (ptr->val % 64);
+                       sign |= 1 << (ptr->val % SIGLEN);
                ptr++;
        }
                 
@@ -198,7 +200,7 @@ static int
 sizebitvec(TPQTGist sign) {
        int size=0,i;
 
-       for(i=0;i<64;i++) 
+       for(i=0;i<SIGLEN;i++) 
                size += 0x01 & (sign>>i);
 
        return size;