From 01b523c7ce4eb5e692b0dcbec63efac0e8d1e2c7 Mon Sep 17 00:00:00 2001 From: Joe Zhao Date: Thu, 9 Apr 2015 19:32:12 +0800 Subject: sync --- tools/dataProvider.h | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) (limited to 'tools/dataProvider.h') diff --git a/tools/dataProvider.h b/tools/dataProvider.h index d311149..bff1f44 100644 --- a/tools/dataProvider.h +++ b/tools/dataProvider.h @@ -4,6 +4,7 @@ #include #include "../tools/easylogging++.h" #include +#include // TODO decide how to construct training data // One possible way for training data: @@ -19,6 +20,23 @@ typedef Eigen::MatrixXd DataSet; typedef Eigen::VectorXd Labels; +typedef struct DataEntry{ + int qid; + double rank; + Eigen::VectorXd feature; +} DataEntry; + +class DataList{ +private: + int n; + std::list data; +public: + int getSize(){return data.size();} + void addEntry(DataEntry d){data.push_front(d);} + void setfSize(int fsize){n=fsize;} + int getfSize(){return n;} +}; + class DataProvider //Virtual base class for data input { protected: @@ -34,10 +52,9 @@ public: return attrSize; } - bool EOFile(){return eof;}; + bool EOFile(){return eof;} - virtual int getDataSet(DataSet &out) = 0; - virtual int getLabel(Labels &out) = 0; + virtual int getDataSet(DataList &out) = 0; virtual int open()=0; virtual int close()=0; }; -- cgit v1.2.3-70-g09d2