Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/moses-smt/vowpal_wabbit.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Langford <jl@nyclamp.(none)>2014-01-08 19:15:57 +0400
committerJohn Langford <jl@nyclamp.(none)>2014-01-08 19:15:57 +0400
commit7d1cebb2b1480c2fa63e60214f033452c4b2da7c (patch)
treec485d8316591ddc4cec138d12e12d9e4736f1a3a /vowpalwabbit/sender.cc
parentcce351ad81aaa485f1d4e85f572d448b5f4a2631 (diff)
void* removal in process
Diffstat (limited to 'vowpalwabbit/sender.cc')
-rw-r--r--vowpalwabbit/sender.cc24
1 files changed, 11 insertions, 13 deletions
diff --git a/vowpalwabbit/sender.cc b/vowpalwabbit/sender.cc
index 35a6eed1..f1f102f5 100644
--- a/vowpalwabbit/sender.cc
+++ b/vowpalwabbit/sender.cc
@@ -23,6 +23,7 @@
#include "vw.h"
using namespace std;
+using namespace LEARNER;
namespace SENDER {
struct sender {
@@ -69,9 +70,8 @@ void receive_result(sender& s)
return_simple_example(*(s.all), NULL, ec);
}
- void learn(void* d, learner& base, example* ec)
+ void learn(sender* s, learner& base, example* ec)
{
- sender* s = (sender*)d;
if (s->received_index + s->all->p->ring_size - 1 == s->sent_index)
receive_result(*s);
@@ -84,33 +84,31 @@ void receive_result(sender& s)
}
// placeholder
- void predict(void* d, learner& base, example* ec)
+ void predict(sender* d, learner& base, example* ec)
{
learn(d, base, ec);
}
- void finish_example(vw& all, void*, example*ec)
+ void finish_example(vw& all, sender*, example*ec)
{}
-void end_examples(void* d)
+void end_examples(sender* s)
{
- sender* s = (sender*)d;
//close our outputs to signal finishing.
while (s->received_index != s->sent_index)
receive_result(*s);
shutdown(s->buf->files[0],SHUT_WR);
}
- void finish(void* d)
+ void finish(sender* s)
{
- sender* s = (sender*)d;
s->buf->files.delete_v();
s->buf->space.delete_v();
free(s->delay_ring);
delete s->buf;
}
- void save_load(void*, io_buf& io, bool read, bool text){}
+ void save_load(sender*, io_buf& io, bool read, bool text){}
learner* setup(vw& all, po::variables_map& vm, vector<string> pairs)
{
@@ -125,10 +123,10 @@ void end_examples(void* d)
s->all = &all;
s->delay_ring = (example**) calloc(all.p->ring_size, sizeof(example*));
- learner* l = new learner(s, learn, predict, save_load, 1);
- l->set_finish(finish);
- l->set_finish_example(finish_example);
- l->set_end_examples(end_examples);
+ learner* l = new learner(s, tlearn<sender, learn>, tlearn<sender, predict>, tsl<sender, save_load>, 1);
+ l->set_finish<sender, finish>();
+ l->set_finish_example(tend_example<sender, finish_example>);
+ l->set_end_examples(tfunc<sender, end_examples>);
return l;
}