21 #include "../storage/abstract_column.hpp"
22 #include "../storage/fixed_size_heap.hpp"
32 namespace nearest_neighbor {
37 vector<pair<uint64_t, float> >& ret,
40 for (uint64_t i = 0; i < bvs.size(); ++i) {
41 const size_t dist = query.calc_hamming_distance(bvs[i]);
42 heap.
push(make_pair(dist, i));
45 vector<pair<uint32_t, uint64_t> > sorted;
49 const float denom = query.bit_num();
50 for (
size_t i = 0; i < sorted.size(); ++i) {
51 ret.push_back(make_pair(sorted[i].second, sorted[i].first / denom));
void get_sorted(std::vector< T > &v) const
double dist(const common::sfv_t &p1, const common::sfv_t &p2)
void ranking_hamming_bit_vectors(const bit_vector &query, const const_bit_vector_column &bvs, vector< pair< uint64_t, float > > &ret, uint64_t ret_num)
const bit_vector_column const_bit_vector_column
bit_vector_base< uint64_t > bit_vector