Zebra is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Zebra is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
static void r_delete(RSET ct);
static int r_forward(RSFD rfd, void *buf, TERMID *term, const void *untilbuf);
static int r_read(RSFD rfd, void *buf, TERMID *term);
static void r_delete(RSET ct);
static int r_forward(RSFD rfd, void *buf, TERMID *term, const void *untilbuf);
static int r_read(RSFD rfd, void *buf, TERMID *term);
static void r_pos(RSFD rfd, double *current, double *total);
static void r_get_terms(RSET ct, TERMID *terms, int maxterms, int *curterm);
static void r_pos(RSFD rfd, double *current, double *total);
static void r_get_terms(RSET ct, TERMID *terms, int maxterms, int *curterm);
p->more = nmem_malloc(ct->nmem,sizeof(*p->more) * ct->no_children);
p->buf = nmem_malloc(ct->nmem,sizeof(*p->buf) * ct->no_children);
p->terms = nmem_malloc(ct->nmem,sizeof(*p->terms) * ct->no_children);
p->more = nmem_malloc(ct->nmem,sizeof(*p->more) * ct->no_children);
p->buf = nmem_malloc(ct->nmem,sizeof(*p->buf) * ct->no_children);
p->terms = nmem_malloc(ct->nmem,sizeof(*p->terms) * ct->no_children);
{
p->buf[i] = nmem_malloc(ct->nmem,ct->keycontrol->key_size);
p->terms[i] = 0;
}
p->rfd = nmem_malloc(ct->nmem,sizeof(*p->rfd) * ct->no_children);
}
{
p->buf[i] = nmem_malloc(ct->nmem,ct->keycontrol->key_size);
p->terms[i] = 0;
}
p->rfd = nmem_malloc(ct->nmem,sizeof(*p->rfd) * ct->no_children);
}
for (i = 0; i < ct->no_children; i++)
{
p->rfd[i] = rset_open(ct->children[i], RSETF_READ);
for (i = 0; i < ct->no_children; i++)
{
p->rfd[i] = rset_open(ct->children[i], RSETF_READ);
- ((kctrl->cmp)(untilbuf, p->buf[0]) >= rfd->rset->scope) )
- p->more[0] = rset_forward(p->rfd[0], p->buf[0],
+ ((kctrl->cmp)(untilbuf, p->buf[0]) >= rfd->rset->scope) )
+ p->more[0] = rset_forward(p->rfd[0], p->buf[0],
{
int cmp = (*kctrl->cmp)(p->buf[0], p->buf[1]);
if ( cmp <= - rfd->rset->scope) /* cmp<-1*/
{
int cmp = (*kctrl->cmp)(p->buf[0], p->buf[1]);
if ( cmp <= - rfd->rset->scope) /* cmp<-1*/
seqno[n++] = (*kctrl->getseq)(p->buf[0]);
while ((p->more[0] = rset_read(p->rfd[0],
p->buf[0], &p->terms[0])))
seqno[n++] = (*kctrl->getseq)(p->buf[0]);
while ((p->more[0] = rset_read(p->rfd[0],
p->buf[0], &p->terms[0])))
return r_forward(rfd, buf, term, 0);
}
return r_forward(rfd, buf, term, 0);
}
static void r_pos(RSFD rfd, double *current, double *total)
{
RSET ct = rfd->rset;
struct rset_prox_rfd *p = (struct rset_prox_rfd *)(rfd->priv);
int i;
static void r_pos(RSFD rfd, double *current, double *total)
{
RSET ct = rfd->rset;
struct rset_prox_rfd *p = (struct rset_prox_rfd *)(rfd->priv);
int i;
- {
- r = scur/stot;
- *current = (double) p->hits;
- *total = *current/r ;
- }
- yaz_log(YLOG_DEBUG,"prox_pos: [%d] %0.1f/%0.1f= %0.4f ",
- i,*current, *total, r);
+ *total = 0.0;
+
+ yaz_log(YLOG_DEBUG, "prox_pos: [%d] %0.1f/%0.1f= %0.4f ",
+ i, *current, *total, ratio);
}
static void r_get_terms(RSET ct, TERMID *terms, int maxterms, int *curterm)
}
static void r_get_terms(RSET ct, TERMID *terms, int maxterms, int *curterm)