diff options
Diffstat (limited to 'model/rankaccu.cpp')
-rw-r--r-- | model/rankaccu.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/model/rankaccu.cpp b/model/rankaccu.cpp index 8404abf..0f55e26 100644 --- a/model/rankaccu.cpp +++ b/model/rankaccu.cpp @@ -128,4 +128,23 @@ void rank_CMC(RidList &D,const std::vector<double> pred,CMC & cmc) { break; // account only for the first match; } } +} + +void rank_pair(RidList &D,const vector<double> pred,vector<double> &pair) +{ + int n =D.getSize(),q=D.getqSize(); + pair.clear(); + for (int i=0;i<n;i+=q) + { + int corr=0; + for (int j=0;j<q;++j) + if (D.getL(i+j)>0) { + corr = j; + break; + } + + for (int j=0;j<q;++j) + if (j!=corr) + pair.push_back(pred[i+corr]-pred[i+j]); + } }
\ No newline at end of file |