projects
/
idzebra-moved-to-github.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Work on relevance feedback.
[idzebra-moved-to-github.git]
/
rset
/
rsbool.c
diff --git
a/rset/rsbool.c
b/rset/rsbool.c
index
e2bec06
..
f34a61f
100644
(file)
--- a/
rset/rsbool.c
+++ b/
rset/rsbool.c
@@
-4,7
+4,13
@@
* Sebastian Hammer, Adam Dickmeiss
*
* $Log: rsbool.c,v $
* Sebastian Hammer, Adam Dickmeiss
*
* $Log: rsbool.c,v $
- * Revision 1.3 1995-09-07 13:58:43 adam
+ * Revision 1.5 1995-09-08 14:52:41 adam
+ * Work on relevance feedback.
+ *
+ * Revision 1.4 1995/09/08 08:54:04 adam
+ * More efficient and operation.
+ *
+ * Revision 1.3 1995/09/07 13:58:43 adam
* New parameter: result-set file descriptor (RSFD) to support multiple
* positions within the same result-set.
* Boolean operators: and, or, not implemented.
* New parameter: result-set file descriptor (RSFD) to support multiple
* positions within the same result-set.
* Boolean operators: and, or, not implemented.
@@
-106,7
+112,6
@@
static rset_control *r_create (const struct rset_control *sel, void *parms)
rset_bool_parms *bool_parms = parms;
struct rset_bool_info *info;
rset_bool_parms *bool_parms = parms;
struct rset_bool_info *info;
- logf (LOG_DEBUG, "rsbool_create(%s)", sel->desc);
newct = xmalloc(sizeof(*newct));
memcpy (newct, sel, sizeof(*sel));
newct->buf = xmalloc (sizeof(struct rset_bool_info));
newct = xmalloc(sizeof(*newct));
memcpy (newct, sel, sizeof(*sel));
newct->buf = xmalloc (sizeof(struct rset_bool_info));
@@
-194,16
+199,11
@@
static int r_read_and (RSFD rfd, void *buf)
struct rset_bool_rfd *p = rfd;
struct rset_bool_info *info = p->info;
struct rset_bool_rfd *p = rfd;
struct rset_bool_info *info = p->info;
- while (p->more_l || p->more_r)
+ while (p->more_l && p->more_r)
{
int cmp;
{
int cmp;
- if (p->more_l && p->more_r)
- cmp = (*info->cmp)(p->buf_l, p->buf_r);
- else if (p->more_r)
- cmp = 2;
- else
- cmp = -2;
+ cmp = (*info->cmp)(p->buf_l, p->buf_r);
if (!cmp)
{
memcpy (buf, p->buf_l, info->key_size);
if (!cmp)
{
memcpy (buf, p->buf_l, info->key_size);