当前位置: 首页>>代码示例>>C++>>正文


C++ bit_vector::bit_num方法代码示例

本文整理汇总了C++中bit_vector::bit_num方法的典型用法代码示例。如果您正苦于以下问题:C++ bit_vector::bit_num方法的具体用法?C++ bit_vector::bit_num怎么用?C++ bit_vector::bit_num使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在bit_vector的用法示例。


在下文中一共展示了bit_vector::bit_num方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: similar_row

void bit_index_storage::similar_row(
    const bit_vector& bv,
    vector<pair<string, float> >& ids,
    uint64_t ret_num) const {
  ids.clear();
  uint64_t bit_num = bv.bit_num();
  if (bit_num == 0) {
    return;
  }

  heap_type heap(ret_num);

  for (bit_table_t::const_iterator it = bitvals_diff_.begin();
      it != bitvals_diff_.end(); ++it) {
    similar_row_one(bv, *it, heap);
  }
  for (bit_table_t::const_iterator it = bitvals_.begin(); it != bitvals_.end();
      ++it) {
    if (bitvals_diff_.find(it->first) != bitvals_diff_.end()) {
      continue;
    }
    similar_row_one(bv, *it, heap);
  }

  vector<pair<uint64_t, string> > scores;
  heap.get_sorted(scores);
  for (size_t i = 0; i < scores.size() && i < ret_num; ++i) {
    ids.push_back(make_pair(scores[i].second,
                            static_cast<float>(scores[i].first) / bit_num));
  }
}
开发者ID:gologo13,项目名称:jubatus,代码行数:31,代码来源:bit_index_storage.cpp

示例2: ranking_hamming_bit_vectors

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) {
  storage::fixed_size_heap<pair<uint32_t, uint64_t> > heap(ret_num);
  for (uint64_t i = 0; i< bvs.size(); ++i) {
    const size_t dist = query.calc_hamming_distance(bvs[i]);
    heap.push(make_pair(dist, i));
  }

  vector<pair<uint32_t, uint64_t> > sorted;
  heap.get_sorted(sorted);

  ret.clear();
  const float denom = query.bit_num();
  for (size_t i = 0; i < sorted.size(); ++i) {
    ret.push_back(make_pair(sorted[i].second, sorted[i].first / denom));
  }
}
开发者ID:pombredanne,项目名称:jubatus,代码行数:20,代码来源:bit_vector_ranking.cpp

示例3: bv

TEST(msgpack_pack, empty) {
  const bit_vector bv(10);
  EXPECT_EQ(NULL, bv.raw_data_unsafe());

  msgpack::sbuffer buf;
  msgpack::pack(buf, bv);

  msgpack::unpacked unpacked;
  msgpack::unpack(&unpacked, buf.data(), buf.size());
  msgpack::object obj = unpacked.get();

  ASSERT_EQ(msgpack::type::ARRAY, obj.type);
  ASSERT_EQ(2u, obj.via.array.size);

  const size_t bits = obj.via.array.ptr[0].as<uint64_t>();
  const std::string data = obj.via.array.ptr[1].as<std::string>();

  EXPECT_EQ(bv.bit_num(), bits);

  EXPECT_EQ(bv.used_bytes(), data.size());
  for (size_t i = 0; i < data.size(); ++i) {
    EXPECT_EQ(0, data[i]);
  }
}
开发者ID:gwtnb,项目名称:jubatus_core,代码行数:24,代码来源:bit_vector_test.cpp

示例4: equal

bool bit_vector::operator==(const bit_vector& v) const {
  return v.bit_num() == bit_num()
      && equal(bits_.begin(), bits_.end(), v.bits_.begin());
}
开发者ID:Tukamotosan,项目名称:jubatus,代码行数:4,代码来源:bit_vector.cpp


注:本文中的bit_vector::bit_num方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。