diff options
Diffstat (limited to 'tools')
-rw-r--r-- | tools/fileDataProvider.cpp | 8 | ||||
-rw-r--r-- | tools/fileDataProvider.h | 9 |
2 files changed, 13 insertions, 4 deletions
diff --git a/tools/fileDataProvider.cpp b/tools/fileDataProvider.cpp index b1f3f5e..9be1132 100644 --- a/tools/fileDataProvider.cpp +++ b/tools/fileDataProvider.cpp @@ -124,7 +124,7 @@ int RidFileDP::getpSize() { return p.size(); }; -void scrambler(vector<DataEntry*> &dat) +void RidFileDP::shuffle(vector<DataEntry*> &dat) { DataEntry* e; int sz=(int)dat.size(); @@ -148,7 +148,7 @@ void RidFileDP::take(int n,vector<DataEntry*> &a,vector<DataEntry*> &b) a.clear(); b.clear(); std::vector<DataEntry*> &dat = d.getData(); - scrambler(tmp); + shuffle(tmp); for (int i=0;i<dat.size();++i) tmp.push_back(dat[i]); int pos = 0; @@ -170,8 +170,8 @@ void RidFileDP::take(int n,vector<DataEntry*> &a,vector<DataEntry*> &b) for (int i=0;i<tmp.size();++i) if (tmp[i]!=NULL) b.push_back(tmp[i]); - scrambler(a); - scrambler(b); + shuffle(a); + shuffle(b); } void RidFileDP::getAllDataSet(RidList &out){ diff --git a/tools/fileDataProvider.h b/tools/fileDataProvider.h index 567c8e2..972a4c5 100644 --- a/tools/fileDataProvider.h +++ b/tools/fileDataProvider.h @@ -38,11 +38,20 @@ public: void readEntries(); int getfSize() { if(!read) readEntries(); return d.getfSize();}; int getpSize(); + void shuffle(std::vector<DataEntry*> &dat); virtual void getAllDataSet(RidList &out); virtual int getDataSet(DataList &out); virtual int open(){fin.open(fname); eof=false;return 0;}; virtual int close(){fin.close(); d.clear();return 0;}; void take(int n,std::vector<DataEntry*> &a,std::vector<DataEntry*> &b); + void getRidVector(std::vector<DataEntry*> &rid){ + if (!read) + readEntries(); + rid.clear(); + std::vector<DataEntry*> &dat = d.getData(); + for (int i=0;i<dat.size();++i) + rid.push_back(dat[i]); + } }; #endif
\ No newline at end of file |