27 using std::istringstream;
28 using std::ostringstream;
57 bit_table_t::const_iterator it =
bitvals_.find(row);
85 for (bit_table_t::const_iterator it =
bitvals_.begin(); it !=
bitvals_.end();
87 ids.push_back(it->first);
92 ids.push_back(it->first);
103 for (bit_table_t::const_iterator it = mixed_diff.begin();
104 it != mixed_diff.end(); ++it) {
105 if (it->second.bit_num() == 0) {
116 for (bit_table_t::const_iterator it = lhs.begin(); it != lhs.end(); ++it) {
117 rhs[it->first] = it->second;
126 const pair<string, bit_vector>& y,
129 heap.
push(make_pair(match_num, y.first));
134 vector<pair<string, float> >& ids,
135 uint64_t ret_num)
const {
137 uint64_t bit_num = bv.
bit_num();
142 heap_type heap(ret_num);
148 for (bit_table_t::const_iterator it =
bitvals_.begin(); it !=
bitvals_.end();
156 vector<pair<uint64_t, string> > scores;
158 for (
size_t i = 0; i < scores.size() && i < ret_num; ++i) {
159 ids.push_back(make_pair(scores[i].second,
160 static_cast<float>(scores[i].first) / bit_num));
173 return string(
"bit_index_storage");
void similar_row(const bit_vector &bv, std::vector< std::pair< std::string, float > > &ids, uint64_t ret_num) const
void get_sorted(std::vector< T > &v) const
fixed_size_heap< pair< uint64_t, string >, greater< pair< uint64_t, string > > > heap_type
void set_row(const std::string &row, const bit_vector &bv)
void get_all_row_ids(std::vector< std::string > &ids) const
bool put_diff(const bit_table_t &mixed_diff)
void pack(framework::packer &packer) const
jubatus::util::data::unordered_map< std::string, bit_vector > bit_table_t
void get_row(const std::string &row, bit_vector &bv) const
msgpack::packer< jubatus_packer > packer
bit_vector_base< uint64_t > bit_vector
void remove_row(const std::string &row)
bit_table_t bitvals_diff_
void unpack(msgpack::object o)
uint64_t calc_hamming_similarity(const bit_vector_base &bv) const
void get_diff(bit_table_t &diff) const
static void similar_row_one(const bit_vector &x, const pair< string, bit_vector > &y, heap_type &heap)
void mix(const bit_table_t &lhs, bit_table_t &rhs) const