17 #ifndef JUBATUS_CORE_RECOMMENDER_MINHASH_HPP_ 
   18 #define JUBATUS_CORE_RECOMMENDER_MINHASH_HPP_ 
   23 #include "jubatus/util/data/serialization.h" 
   24 #include "jubatus/util/lang/shared_ptr.h" 
   27 #include "../storage/bit_index_storage.hpp" 
   32 class bit_index_storage;
 
   34 namespace recommender {
 
   47       ar & JUBA_MEMBER(hash_num);
 
   52   explicit minhash(
const config& config);
 
   57       std::vector<std::pair<std::string, float> >& ids,
 
   58       size_t ret_num) 
const;
 
   61       std::vector<std::pair<std::string, float> >& ids,
 
   62       size_t ret_num) 
const;
 
   67   std::string 
type() 
const;
 
   72   void unpack(msgpack::object o);
 
   79   static float calc_hash(uint64_t a, uint64_t b, 
float val);
 
   80   static void hash_mix64(uint64_t& a, uint64_t& b, uint64_t& c);
 
   86   jubatus::util::lang::shared_ptr<storage::mixable_bit_index_storage>
 
   94 #endif  // JUBATUS_CORE_RECOMMENDER_MINHASH_HPP_ 
void calc_minhash_values(const common::sfv_t &sfv, core::storage::bit_vector &bv) const 
 
void update_row(const std::string &id, const sfv_diff_t &diff)
 
void similar_row(const common::sfv_t &query, std::vector< std::pair< std::string, float > > &ids, size_t ret_num) const 
 
void neighbor_row(const common::sfv_t &query, std::vector< std::pair< std::string, float > > &ids, size_t ret_num) const 
 
void pack(framework::packer &packer) const 
 
jubatus::util::lang::shared_ptr< storage::mixable_bit_index_storage > mixable_storage_
 
core::common::sfv_t sfv_diff_t
 
void clear_row(const std::string &id)
 
framework::mixable * get_mixable() const 
 
static const uint64_t hash_prime
 
void get_all_row_ids(std::vector< std::string > &ids) const 
 
msgpack::packer< jubatus_packer > packer
 
static float calc_hash(uint64_t a, uint64_t b, float val)
 
void unpack(msgpack::object o)
 
static void hash_mix64(uint64_t &a, uint64_t &b, uint64_t &c)
 
std::vector< std::pair< std::string, float > > sfv_t