39 static void r_pos(
RSFD rfd,
double *current,
double *total);
79 RSET children[2], rnew;
111 yaz_log(YLOG_FATAL,
"bool set type is read-only");
118 p = nmem_malloc(ct->
nmem,
sizeof(*p));
124 yaz_log(YLOG_DEBUG,
"rsbool (%s) open [%p]", ct->control->desc, rfd);
129 p->more_l =
rset_read(p->rfd_l, p->buf_l, &p->term_l);
130 p->more_r =
rset_read(p->rfd_r, p->buf_r, &p->term_r);
144 const void *untilbuf)
189 memcpy (
buf, p->
buf_l, kctrl->key_size);
203 memcpy (
buf, p->
buf_l, kctrl->key_size);
227 static void r_pos(
RSFD rfd,
double *current,
double *total)
237 if ( (rtot<0) && (ltot<0)) {
247 *current = *total = 0;
250 r = 1.0*(lcur+rcur)/(ltot+rtot);
251 *current = (double) (p->
hits);
252 *total = *current/r ;
254 yaz_log(YLOG_DEBUG,
"bool_pos: (%s/%s) %0.1f/%0.1f= %0.4f ",
255 info->rset_l->control->desc, info->rset_r->control->desc,
256 *current, *total, r);
static int r_read_not(RSFD rfd, void *buf, TERMID *term)
RSET rset_create_not(NMEM nmem, struct rset_key_control *kcontrol, int scope, RSET rset_l, RSET rset_r)
static void r_get_terms(RSET ct, TERMID *terms, int maxterms, int *curterm)
static void r_delete(RSET ct)
static RSET rsbool_create_base(const struct rset_control *ctrl, NMEM nmem, struct rset_key_control *kcontrol, int scope, RSET rset_l, RSET rset_r)
static int r_forward(RSFD rfd, void *buf, TERMID *term, const void *untilbuf)
static const struct rset_control control_not
static void r_pos(RSFD rfd, double *current, double *total)
static RSFD r_open(RSET ct, int flag)
static void r_close(RSFD rfd)
RSET rset_create_base(const struct rset_control *sel, NMEM nmem, struct rset_key_control *kcontrol, int scope, TERMID term, int no_children, RSET *children)
Common constuctor for RSETs.
#define rset_read(rfd, buf, term)
int rset_no_write(RSFD rfd, const void *buf)
RSFD rfd_create_base(RSET rs)
Common constuctor for RFDs.
#define rset_getterms(ct, terms, maxterms, curterm)
#define rset_pos(rfd, cur, tot)
#define rset_open(rs, wflag)
void rset_close(RSFD rfd)
Closes a result set RFD handle.
#define rset_forward(rfd, buf, term, untilbuf)
struct rset_key_control * keycontrol