From f411d46ff24dc2bcc18fd2ea29f1f16612fc676d Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Thu, 22 Jan 2009 18:42:50 +0300 Subject: * Rework statfiles result processing * Fix small bug in protocol implementation (\r -> \r\n) --- src/classifiers/classifiers.c | 2 +- src/classifiers/classifiers.h | 2 ++ src/classifiers/winnow.c | 6 ++++++ 3 files changed, 9 insertions(+), 1 deletion(-) (limited to 'src/classifiers') diff --git a/src/classifiers/classifiers.c b/src/classifiers/classifiers.c index 5dab03122..aabdd7590 100644 --- a/src/classifiers/classifiers.c +++ b/src/classifiers/classifiers.c @@ -6,7 +6,7 @@ #include "classifiers.h" struct classifier classifiers[] = { - {"winnow", winnow_classify, winnow_learn }, + {"winnow", winnow_classify, winnow_learn, winnow_add_result }, }; struct classifier* diff --git a/src/classifiers/classifiers.h b/src/classifiers/classifiers.h index eb5e5de4e..71a08c684 100644 --- a/src/classifiers/classifiers.h +++ b/src/classifiers/classifiers.h @@ -16,6 +16,7 @@ struct classifier { char *name; double (*classify_func)(statfile_pool_t *pool, char *statfile, GTree *input); void (*learn_func)(statfile_pool_t *pool, char *statfile, GTree *input, int in_class); + double (*add_result_func)(double result, double new); }; /* Get classifier structure by name or return NULL if this name is not found */ @@ -23,6 +24,7 @@ struct classifier* get_classifier (char *name); /* Winnow algorithm */ double winnow_classify (statfile_pool_t *pool, char *statfile, GTree *input); void winnow_learn (statfile_pool_t *pool, char *statfile, GTree *input, int in_class); +double winnow_add_result (double result, double new); /* Array of all defined classifiers */ extern struct classifier classifiers[]; diff --git a/src/classifiers/winnow.c b/src/classifiers/winnow.c index 552f054b2..29aa94899 100644 --- a/src/classifiers/winnow.c +++ b/src/classifiers/winnow.c @@ -105,3 +105,9 @@ winnow_learn (statfile_pool_t *pool, char *statfile, GTree *input, int in_class) statfile_pool_unlock_file (pool, statfile); } + +double +winnow_add_result (double result, double new) +{ + return result + new; +} -- cgit v1.2.3