HIBF 1.0.0-rc.1
All Classes Namespaces Files Functions Variables Typedefs Friends Macros Modules Pages Concepts
seqan::hibf::sketch::minhashes Struct Reference

MinHash sketches design to be used for Locality sensitive hashing. More...

#include <hibf/sketch/minhashes.hpp>

Public Member Functions

void fill_incomplete_sketches (std::span< uint64_t > const &more_smallest_values)
 Adds more minhash values to an existing but incomplete table.
 
bool is_valid () const
 Checks whether the minHash table is completely filled.
 
Constructors, destructor and assignment
 minhashes ()=default
 Defaulted.
 
 minhashes (minhashes const &)=default
 Defaulted.
 
minhashesoperator= (minhashes const &)=default
 Defaulted.
 
 minhashes (minhashes &&)=default
 Defaulted.
 
minhashesoperator= (minhashes &&)=default
 Defaulted.
 
 ~minhashes ()=default
 
 minhashes (std::vector< uint64_t > const &smallest_values)
 construct from a vector of the smallest values in a set (sorted ascending).
 

Static Public Member Functions

static void push_to_heap_if_smaller (uint64_t const value, std::vector< uint64_t > &heap)
 Pushes value to the heap if it is smaller than the current largest element.
 

Public Attributes

std::vector< std::vector< uint64_t > > table {}
 A table of sketches. For LSH we need multiple sketches, stored in a table.
 

Static Public Attributes

static constexpr size_t num_sketches {16}
 ...00001111
 
static constexpr uint64_t register_id_mask {15}
 
static constexpr size_t sketch_size {40}
 

Friends

class cereal::access
 

Detailed Description

MinHash sketches design to be used for Locality sensitive hashing.

The partitioned HIBF as well as the Fast Layout need minHash sketches for a locality sentive hashing algorithm that improves the user bin distribution.

The sketches are specifically designed for this purpose:

The minhashes struct keeps a table of several original MinHash sketches to be used for repeated iterations of LSH.

Constructor & Destructor Documentation

◆ ~minhashes()

seqan::hibf::sketch::minhashes::~minhashes ( )
default

Defaulted.


The documentation for this struct was generated from the following file: