diff options
Diffstat (limited to 'tools/fileDataProvider.h')
-rw-r--r-- | tools/fileDataProvider.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/tools/fileDataProvider.h b/tools/fileDataProvider.h index c4f6a4a..8ebda20 100644 --- a/tools/fileDataProvider.h +++ b/tools/fileDataProvider.h @@ -82,9 +82,11 @@ public: } pos = 0; qid = 1; + read = true; } out.clear(); fsize = d.getfSize(); + out.setfSize(fsize); std::vector<DataEntry*> & dat = d.getData(); for (int i=0;i<d.getSize();++i) if (i!=pos) @@ -94,6 +96,7 @@ public: e = new DataEntry; e->rank=1; dat[i]->qid=std::to_string(qid); + dat[i]->rank=qid; } else { @@ -103,12 +106,13 @@ public: e->feature.resize(d.getfSize()); e->qid=std::to_string(qid); for (int j = 0; j < fsize; ++j) { - e->feature(i) = fabs(dat[i]->feature(j) -dat[pos]->feature(j)); + e->feature(j) = fabs(dat[i]->feature(j) -dat[pos]->feature(j)); } out.addEntry(e); } dat[pos]->qid=std::to_string(qid); ++qid; + dat[pos]->rank=qid; while (pos<dat.size() && dat[pos]->rank!=-1) ++pos; if (pos==d.getSize()) |