summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tools/dataProvider.h2
-rw-r--r--tools/fileDataProvider.cpp5
2 files changed, 6 insertions, 1 deletions
diff --git a/tools/dataProvider.h b/tools/dataProvider.h
index b8c14b2..a740a65 100644
--- a/tools/dataProvider.h
+++ b/tools/dataProvider.h
@@ -69,6 +69,8 @@ public:
inline int getfSize(){return n;}
void addEntry(DataEntry* d){
int ext=false;
+ if (d->qid=="-1")
+ other.push_back(d);
for (int i=0;i<uniq.size();++i)
if (uniq[i]->qid==d->qid)
{
diff --git a/tools/fileDataProvider.cpp b/tools/fileDataProvider.cpp
index 1ff0279..39fae1b 100644
--- a/tools/fileDataProvider.cpp
+++ b/tools/fileDataProvider.cpp
@@ -58,6 +58,9 @@ void RidFileDP::readEntries() {
d.addEntry(e);
}
pos = 0;
+ std::vector<DataEntry*> & dat = d.getData();
+ while (pos<dat.size() && dat[pos]->rank!=-1 && dat[pos]->qid!="-1")
+ ++pos;
qid = 1;
read = true;
}
@@ -95,7 +98,7 @@ int RidFileDP::getDataSet(DataList &out){
dat[pos]->qid=std::to_string(qid);
++qid;
dat[pos]->rank=qid;
- while (pos<dat.size() && dat[pos]->rank!=-1)
+ while (pos<dat.size() && dat[pos]->rank!=-1 && dat[pos]->qid=="-1")
++pos;
if (pos==d.getSize())
eof = true;