X-Git-Url: http://git.indexdata.com/?p=idzebra-moved-to-github.git;a=blobdiff_plain;f=index%2Fzvrank.c;h=061f3ade5f177141b61dab9ebe8d2b5643556d15;hp=4322dda0c7c4576ba574cf8ce8dc35acc302a12d;hb=1bb217ab477284fd7fee47f19a6e8a780fa2bb50;hpb=ba1cf01240f69bcffc890b9f85b9a52ac56696f0 diff --git a/index/zvrank.c b/index/zvrank.c index 4322dda..061f3ad 100644 --- a/index/zvrank.c +++ b/index/zvrank.c @@ -1,4 +1,4 @@ -/* $Id: zvrank.c,v 1.8 2004-08-04 08:35:24 adam Exp $ +/* $Id: zvrank.c,v 1.9 2004-08-06 12:28:22 adam Exp $ Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003 Index Data Aps @@ -131,7 +131,7 @@ struct ts_info { /* term info */ char *name; int *id; /**/ - int gocc; + zint gocc; int locc; double tf; double idf; @@ -267,7 +267,7 @@ static void idf_none(void *rsi, void *dsi) { static void idf_tfidf(void *rsi, void *dsi) { RS rs=(RS)rsi; DS ds=(DS)dsi; - int num_docs, gocc; + zint num_docs, gocc; int i, veclen; double idf; /* normal tfidf weight */ @@ -278,7 +278,7 @@ static void idf_tfidf(void *rsi, void *dsi) { if (gocc==0) idf=0.0; else - idf=blog(num_docs/gocc); + idf=blog((double) (num_docs/gocc)); ds->terms[i].idf=idf; } return; @@ -287,7 +287,7 @@ static void idf_tfidf(void *rsi, void *dsi) { static void idf_prob(void *rsi, void *dsi) { RS rs=(RS)rsi; DS ds=(DS)dsi; - int num_docs, gocc; + zint num_docs, gocc; int i, veclen; double idf; /* probabilistic formulation */ @@ -298,7 +298,7 @@ static void idf_prob(void *rsi, void *dsi) { if (gocc==0) idf=0.0; else - idf=blog((num_docs-gocc)/gocc); + idf=blog((double) ((num_docs-gocc)/gocc)); ds->terms[i].idf=idf; } return; @@ -326,7 +326,7 @@ static void idf_freq(void *rsi, void *dsi) { static void idf_squared(void *rsi, void *dsi) { RS rs=(RS)rsi; DS ds=(DS)dsi; - int num_docs, gocc; + zint num_docs, gocc; int i, veclen; double idf; /* idf ^ 2 */ @@ -689,7 +689,8 @@ static void *zv_begin(struct zebra_register *reg, void *class_handle, RSET rset) struct rs_info *rs=(struct rs_info *)xmalloc(sizeof(*rs)); struct rank_class_info *ci=(struct rank_class_info *)class_handle; int i; - int veclen, gocc; + int veclen; + zint gocc; /**/ yaz_log(LOG_DEBUG, "zv_begin"); veclen=rset->no_rset_terms; /* smaller vector here */ @@ -775,11 +776,11 @@ static int zv_calc (void *rsi, zint sysno) (*rs->d_norm_fct)(rs, rs->rdoc); dscore=rs->sim_fct(rs->qdoc, rs->rdoc); } - score = dscore * 1000; + score = (int) dscore * 1000; yaz_log (LOG_LOG, "sysno=" ZINT_FORMAT " score=%d", sysno, score); if (score > 1000) /* should not happen */ score = 1000; - return score; + return (int) score; } /*