From 5297c7d0358f01193f9057fa0fcae82d55a2872b Mon Sep 17 00:00:00 2001 From: Joe Zhao Date: Tue, 19 May 2015 18:09:58 +0800 Subject: added single option --- tools/dataProvider.cpp | 7 +++++++ tools/dataProvider.h | 11 +++++++++++ 2 files changed, 18 insertions(+) create mode 100644 tools/dataProvider.cpp (limited to 'tools') diff --git a/tools/dataProvider.cpp b/tools/dataProvider.cpp new file mode 100644 index 0000000..deb3b78 --- /dev/null +++ b/tools/dataProvider.cpp @@ -0,0 +1,7 @@ +// +// Created by joe on 5/19/15. +// + +#include "../tools/dataProvider.h" + +bool RidList::single = false; \ No newline at end of file diff --git a/tools/dataProvider.h b/tools/dataProvider.h index bf47856..348d15c 100644 --- a/tools/dataProvider.h +++ b/tools/dataProvider.h @@ -61,6 +61,7 @@ private: std::vector uniq; std::vector other; public: + static bool single; void clear(){ uniq.clear(); other.clear(); @@ -98,6 +99,8 @@ public: } inline int getqSize() { + if (single) + return (int)other.size(); return (int)(uniq.size()+other.size()-1); } inline int getuSize() @@ -113,6 +116,8 @@ public: a=x/n; b=x%n; Eigen::VectorXd vec; + if (single) + return (uniq[a]->feature-other[b]->feature).cwiseAbs(); if (bfeature-uniq[b]->feature; else @@ -126,6 +131,12 @@ public: int a,b,n=getqSize(); a=x/n; b=x%n; + if (single) + { + if (std::fabs(other[b]->rank - a) < 1e-5) + return 1; + return -1; + } if (b