From 705f3731f4c49a75e2824d16622ff853634335c7 Mon Sep 17 00:00:00 2001 From: Joe Zhao Date: Fri, 10 Apr 2015 20:39:00 +0800 Subject: structuring input --- tools/fileDataProvider.h | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) (limited to 'tools/fileDataProvider.h') diff --git a/tools/fileDataProvider.h b/tools/fileDataProvider.h index 9ce78e6..6ccf28f 100644 --- a/tools/fileDataProvider.h +++ b/tools/fileDataProvider.h @@ -3,21 +3,38 @@ #include "dataProvider.h" #include +#include +#include class FileDP:public DataProvider { private: std::string fname; + std::ifstream fin; public: FileDP(std::string fn=""):fname(fn){}; void setFname(std::string fn){fname=fn;}; virtual int getDataSet(DataList &out){ + DataEntry* e; + out.clear(); + int fsize; + out.setfSize(fsize); + fin>>fsize; + while (!fin.eof()) { + e= new DataEntry; + fin>>e->rank; + fin>>e->qid; + e->feature.resize(fsize); + for (int i=0;i>e->feature(i); + } + out.addEntry(e); + } + eof=true; return 0; } - int getDataSet(DataSet &D) {return 0;} - int getLabel(Labels &l) {return 0;} - virtual int open(){eof=true;return 0;}; - virtual int close(){return 0;}; + virtual int open(){fin.open(fname); eof=false;return 0;}; + virtual int close(){fin.close();return 0;}; }; #endif \ No newline at end of file -- cgit v1.2.3-70-g09d2