From fed865c7c95d82443244df7754a11a1333665fec Mon Sep 17 00:00:00 2001 From: GuoRentong <57477222+GuoRentong@users.noreply.github.com> Date: Sat, 25 Apr 2020 18:35:04 +0800 Subject: [PATCH] Values of type 'const size_t' may not fit into the receiver type 'int' (#2109) Signed-off-by: GuoRentong Co-authored-by: guo rentong --- core/src/index/thirdparty/annoy/src/annoylib.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/core/src/index/thirdparty/annoy/src/annoylib.h b/core/src/index/thirdparty/annoy/src/annoylib.h index b4188698..9f21bbcf 100644 --- a/core/src/index/thirdparty/annoy/src/annoylib.h +++ b/core/src/index/thirdparty/annoy/src/annoylib.h @@ -834,9 +834,9 @@ class AnnoyIndexInterface { virtual bool load(const char* filename, bool prefault=false, char** error=nullptr) = 0; virtual bool load_index(void* index_data, const int64_t& index_size, char** error = nullptr) = 0; virtual T get_distance(S i, S j) const = 0; - virtual void get_nns_by_item(S item, size_t n, int search_k, vector* result, vector* distances, + virtual void get_nns_by_item(S item, size_t n, int64_t search_k, vector* result, vector* distances, faiss::ConcurrentBitsetPtr& bitset = nullptr) const = 0; - virtual void get_nns_by_vector(const T* w, size_t n, int search_k, vector* result, vector* distances, + virtual void get_nns_by_vector(const T* w, size_t n, int64_t search_k, vector* result, vector* distances, faiss::ConcurrentBitsetPtr& bitset = nullptr) const = 0; virtual S get_n_items() const = 0; virtual S get_dim() const = 0; @@ -1172,14 +1172,14 @@ public: return D::normalized_distance(D::distance(_get(i), _get(j), _f)); } - void get_nns_by_item(S item, size_t n, int search_k, vector* result, vector* distances, + void get_nns_by_item(S item, size_t n, int64_t search_k, vector* result, vector* distances, faiss::ConcurrentBitsetPtr& bitset) const { // TODO: handle OOB const Node* m = _get(item); _get_all_nns(m->v, n, search_k, result, distances, bitset); } - void get_nns_by_vector(const T* w, size_t n, int search_k, vector* result, vector* distances, + void get_nns_by_vector(const T* w, size_t n, int64_t search_k, vector* result, vector* distances, faiss::ConcurrentBitsetPtr& bitset) const { _get_all_nns(w, n, search_k, result, distances, bitset); } @@ -1327,7 +1327,7 @@ protected: return item; } - void _get_all_nns(const T* v, size_t n, int search_k, vector* result, vector* distances, + void _get_all_nns(const T* v, size_t n, int64_t search_k, vector* result, vector* distances, faiss::ConcurrentBitsetPtr& bitset) const { Node* v_node = (Node *)alloca(_s); D::template zero_value(v_node); @@ -1337,7 +1337,7 @@ protected: std::priority_queue > q; if (search_k <= 0) { - search_k = std::max(n * _roots.size(), (size_t )_n_items * 5 / 100); + search_k = std::max(int64_t(n * _roots.size()), int64_t(_n_items * 5 / 100)); } for (size_t i = 0; i < _roots.size(); i++) { -- GitLab