X-Git-Url: http://sigaev.ru/git/gitweb.cgi?p=smlar.git;a=blobdiff_plain;f=smlar.h;h=6410326c3d792d69b35e1e2b606fe0d6a21664b2;hp=82a1bcb86508c8c97488e4f2d324fa6f01cd0bc8;hb=92dc9c753b98700a2533d160c243b6ee24606943;hpb=0bc52593d34ce24b38cbd4fb6225d97601c5b871 diff --git a/smlar.h b/smlar.h index 82a1bcb..6410326 100644 --- a/smlar.h +++ b/smlar.h @@ -6,6 +6,8 @@ #include "access/tupdesc.h" #include "catalog/pg_collation.h" +#include + typedef struct ProcTypeInfoData *ProcTypeInfo; typedef struct ProcTypeInfoData { @@ -58,7 +60,7 @@ typedef struct SimpleArray { Datum *elems; double *df; /* frequency in current doc */ uint32 *hash; - int nelems; + int nelems; ProcTypeInfo info; } SimpleArray; @@ -80,19 +82,19 @@ int getSmlType(void); * GiST */ -#define SmlarOverlapStrategy 1 -#define SmlarSimilarityStrategy 2 +#define SmlarOverlapStrategy 1 +#define SmlarSimilarityStrategy 2 struct SmlSign; struct SmlSign* Array2HashedArray(ProcTypeInfo info, ArrayType *a); /* * Cache subsystem */ -void* SearchArrayCache( void *cache, MemoryContext ctx, Datum a, ArrayType **da, SimpleArray **sa, struct SmlSign **ss ); +void* SearchArrayCache( void *cache, MemoryContext ctx, Datum a, ArrayType **da, SimpleArray **sa, struct SmlSign **ss ); typedef struct StatElem { - Datum datum; - double idf; /* log(d/df) */ + Datum datum; + double idf; /* log(d/df) */ } StatElem; typedef struct HashedElem { @@ -107,13 +109,13 @@ typedef struct SignedElem { } SignedElem; typedef struct StatCache { - StatElem *elems; - int nelems; - int64_t ndoc; + StatElem *elems; + int nelems; + int64_t ndoc; HashedElem *helems; - int nhelems; + int nhelems; SignedElem *selems; - ProcTypeInfo info; + ProcTypeInfo info; } StatCache; StatCache *initStatCache(MemoryContext ctx);