-/* $Id: zvrank.c,v 1.7 2004-06-13 18:44:57 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
char *name;
int *id;
/**/
- int gocc;
+ zint gocc;
int locc;
double tf;
double idf;
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 */
if (gocc==0)
idf=0.0;
else
- idf=blog(num_docs/gocc);
+ idf=blog((double) (num_docs/gocc));
ds->terms[i].idf=idf;
}
return;
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 */
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;
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 */
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 */
* score should be between 0 and 1000. If score cannot be obtained
* -1 should be returned.
*/
-static int zv_calc (void *rsi, int sysno)
+static int zv_calc (void *rsi, zint sysno)
{
int i, veclen;
int score=0;
(*rs->d_norm_fct)(rs, rs->rdoc);
dscore=rs->sim_fct(rs->qdoc, rs->rdoc);
}
- score = dscore * 1000;
- yaz_log (LOG_LOG, "sysno=%d score=%d", sysno, score);
+ 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;
}
/*