From 44018ad44d7d0d8196f16402bd1fa6c1c10de8ad Mon Sep 17 00:00:00 2001 From: Joe Zhao Date: Tue, 16 Jun 2015 11:34:46 +0800 Subject: fscore --- tools/fileDataProvider.cpp | 17 ++++++++++++++--- tools/fileDataProvider.h | 10 +++++++++- 2 files changed, 23 insertions(+), 4 deletions(-) (limited to 'tools') diff --git a/tools/fileDataProvider.cpp b/tools/fileDataProvider.cpp index 9be1132..2b52dc7 100644 --- a/tools/fileDataProvider.cpp +++ b/tools/fileDataProvider.cpp @@ -42,6 +42,11 @@ void RidFileDP::readEntries() { d.clear(); fin >> fsize; LOG(INFO) << "Feature size:" << fsize; + if (!maskinit) + { + for (int i=0;ifeature.resize(fsize); e->rank=-1; + double tin; for (int i = 0; i < fsize; ++i) { - fin >> e->feature(i); + fin >> tin; + e->feature(i) = tin*mask[i]; } d.addEntry(e); } @@ -124,6 +131,10 @@ int RidFileDP::getpSize() { return p.size(); }; +void RidFileDP::seed() { + gen.seed(time(NULL)); +} + void RidFileDP::shuffle(vector &dat) { DataEntry* e; @@ -131,6 +142,7 @@ void RidFileDP::shuffle(vector &dat) for (int i=0;i &dat) void RidFileDP::take(int n,vector &a,vector &b) { - gen.seed(time(NULL)); DataEntry *e; if (!read) readEntries(); @@ -148,9 +159,9 @@ void RidFileDP::take(int n,vector &a,vector &b) a.clear(); b.clear(); std::vector &dat = d.getData(); - shuffle(tmp); for (int i=0;i mask; DataList d; bool read; + bool maskinit; int pos; int qid; public: - RidFileDP(std::string fn=""):fname(fn){read=false;}; + RidFileDP(std::string fn=""):fname(fn),read(false),maskinit(false){}; void readEntries(); + void datmask(std::vector &m){ + mask.resize(m.size()); + for (int i=0;i &dat); @@ -52,6 +59,7 @@ public: for (int i=0;i