diff options
Diffstat (limited to 'tools')
-rw-r--r-- | tools/dataProvider.h | 11 | ||||
-rw-r--r-- | tools/fileDataProvider.h | 11 |
2 files changed, 14 insertions, 8 deletions
diff --git a/tools/dataProvider.h b/tools/dataProvider.h index fbf554b..da3e1ee 100644 --- a/tools/dataProvider.h +++ b/tools/dataProvider.h @@ -4,7 +4,6 @@ #include<Eigen/Dense> #include "../tools/easylogging++.h" #include<vector> -#include<list> // TODO decide how to construct training data // One possible way for training data: @@ -25,18 +24,18 @@ typedef struct DataEntry{ class DataList{ private: int n; - std::list<DataEntry*> data; + std::vector<DataEntry*> data; public: int getSize(){return data.size();} - void addEntry(DataEntry* d){data.push_front(d);} + void addEntry(DataEntry* d){data.push_back(d);} void setfSize(int fsize){n=fsize;} int getfSize(){return n;} int clear(){ - for (std::list<DataEntry*>::iterator i=data.begin(),end=data.end();i!=end;++i) - delete *i; + for (int i=0;i<data.size();++i) + delete data[i]; data.clear(); } - std::list<DataEntry*> getData(){ + std::vector<DataEntry*>& getData(){ return data; } ~DataList(){ diff --git a/tools/fileDataProvider.h b/tools/fileDataProvider.h index 6ccf28f..942ec9b 100644 --- a/tools/fileDataProvider.h +++ b/tools/fileDataProvider.h @@ -2,6 +2,7 @@ #define FDPROV_H #include "dataProvider.h" +#include "easylogging++.h" #include <string> #include <iostream> #include <fstream> @@ -18,11 +19,17 @@ public: DataEntry* e; out.clear(); int fsize; - out.setfSize(fsize); fin>>fsize; + LOG(INFO)<<"Feature size:"<<fsize; + out.setfSize(fsize); while (!fin.eof()) { - e= new DataEntry; + e = new DataEntry; fin>>e->rank; + if (e->rank == 0) + { + delete e; + break; + } fin>>e->qid; e->feature.resize(fsize); for (int i=0;i<fsize;++i) { |