summaryrefslogtreecommitdiff
path: root/model/rankaccu.cpp
diff options
context:
space:
mode:
authorJoe Zhao <ztuowen@gmail.com>2015-06-02 18:10:33 +0800
committerJoe Zhao <ztuowen@gmail.com>2015-06-02 18:10:33 +0800
commitb44da2a2ab11425961014a39994484c92626ce58 (patch)
treec3b3d3fded5553bccd245a16a09e8323635624ff /model/rankaccu.cpp
parentb29d766bb0c3d2e5839164ef6cd316b2e00fba62 (diff)
downloadranksvm-b44da2a2ab11425961014a39994484c92626ce58.tar.gz
ranksvm-b44da2a2ab11425961014a39994484c92626ce58.tar.bz2
ranksvm-b44da2a2ab11425961014a39994484c92626ce58.zip
misc
Diffstat (limited to 'model/rankaccu.cpp')
-rw-r--r--model/rankaccu.cpp19
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