22 #define GETENTRY(vec,pos) DatumGetTSQuerySign((vec)->vector[pos].key)
71 retval = (
key & sq) == sq;
73 retval = (
key & sq) != 0;
77 retval = (
key & sq) ==
key;
79 retval = (
key & sq) != 0;
97 for (
i = 0;
i < entryvec->
n;
i++)
124 size += 0x01 & (
sign >>
i);
165 #define WISH_F(a,b,c) (double)( -(double)(((a)-(b))*((a)-(b))*((a)-(b)))*(c) )
198 if (size_waste > waste)
207 if (seed_1 == 0 || seed_2 == 0)
213 datum_l =
GETENTRY(entryvec, seed_1);
214 datum_r =
GETENTRY(entryvec, seed_2);
220 costvector[
j - 1].
pos =
j;
223 costvector[
j - 1].
cost = abs(size_alpha - size_beta);
227 for (k = 0; k < maxoff; k++)
229 j = costvector[k].
pos;
236 else if (
j == seed_2)
static void PGresult * res
#define PG_GETARG_POINTER(n)
#define PG_GETARG_UINT16(n)
#define PG_RETURN_POINTER(x)
#define PG_RETURN_BOOL(x)
#define gistentryinit(e, k, r, pg, o, l)
#define OffsetNumberNext(offsetNumber)
#define FirstOffsetNumber
#define qsort(a, b, c, d)
#define RTContainsStrategyNumber
#define RTContainedByStrategyNumber
static TSQuery DatumGetTSQuery(Datum X)
#define PG_GETARG_TSQUERY(n)
static Datum TSQuerySignGetDatum(TSQuerySign X)
static TSQuerySign DatumGetTSQuerySign(Datum X)
#define PG_GETARG_TSQUERYSIGN(n)
#define PG_RETURN_TSQUERYSIGN(X)
#define GETENTRY(vec, pos)
Datum gtsquery_consistent(PG_FUNCTION_ARGS)
Datum gtsquery_consistent_oldsig(PG_FUNCTION_ARGS)
Datum gtsquery_union(PG_FUNCTION_ARGS)
Datum gtsquery_compress(PG_FUNCTION_ARGS)
static int sizebitvec(TSQuerySign sign)
Datum gtsquery_penalty(PG_FUNCTION_ARGS)
Datum gtsquery_same(PG_FUNCTION_ARGS)
static int hemdist(TSQuerySign a, TSQuerySign b)
Datum gtsquery_picksplit(PG_FUNCTION_ARGS)
static int comparecost(const void *a, const void *b)
TSQuerySign makeTSQuerySign(TSQuery a)