Faiss
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends
Public Member Functions | Public Attributes | List of all members
faiss::ArrayInvertedLists Struct Reference

simple (default) implementation as an array of inverted lists More...

#include <InvertedLists.h>

Inheritance diagram for faiss::ArrayInvertedLists:
faiss::InvertedLists

Public Member Functions

 ArrayInvertedLists (size_t nlist, size_t code_size)
 
size_t list_size (size_t list_no) const override
 get the size of a list
 
const uint8_t * get_codes (size_t list_no) const override
 
const idx_t * get_ids (size_t list_no) const override
 
size_t add_entries (size_t list_no, size_t n_entry, const idx_t *ids, const uint8_t *code) override
 
void update_entries (size_t list_no, size_t offset, size_t n_entry, const idx_t *ids, const uint8_t *code) override
 
void resize (size_t list_no, size_t new_size) override
 
- Public Member Functions inherited from faiss::InvertedLists
 InvertedLists (size_t nlist, size_t code_size)
 
virtual void release_codes (size_t list_no, const uint8_t *codes) const
 release codes returned by get_codes (default implementation is nop
 
virtual void release_ids (size_t list_no, const idx_t *ids) const
 release ids returned by get_ids
 
virtual idx_t get_single_id (size_t list_no, size_t offset) const
 
virtual const uint8_t * get_single_code (size_t list_no, size_t offset) const
 
virtual void prefetch_lists (const idx_t *list_nos, int nlist) const
 
virtual size_t add_entry (size_t list_no, idx_t theid, const uint8_t *code)
 add one entry to an inverted list
 
virtual void update_entry (size_t list_no, size_t offset, idx_t id, const uint8_t *code)
 
virtual void reset ()
 
void merge_from (InvertedLists *oivf, size_t add_id)
 move all entries from oivf (empty on output)
 
double imbalance_factor () const
 1= perfectly balanced, >1: imbalanced
 
void print_stats () const
 display some stats about the inverted lists
 
size_t compute_ntotal () const
 sum up list sizes
 

Public Attributes

std::vector< std::vector
< uint8_t > > 
codes
 
std::vector< std::vector< idx_t > > ids
 Inverted lists for indexes.
 
- Public Attributes inherited from faiss::InvertedLists
size_t nlist
 number of possible key values
 
size_t code_size
 code size per vector in bytes
 

Additional Inherited Members

- Public Types inherited from faiss::InvertedLists
typedef Index::idx_t idx_t
 

Detailed Description

simple (default) implementation as an array of inverted lists

Definition at line 182 of file InvertedLists.h.

Member Function Documentation

const uint8_t * faiss::ArrayInvertedLists::get_codes ( size_t  list_no) const
overridevirtual

get the codes for an inverted list must be released by release_codes

Returns
codes size list_size * code_size

Implements faiss::InvertedLists.

Definition at line 165 of file InvertedLists.cpp.

const InvertedLists::idx_t * faiss::ArrayInvertedLists::get_ids ( size_t  list_no) const
overridevirtual

get the ids for an inverted list must be released by release_ids

Returns
ids size list_size

Implements faiss::InvertedLists.

Definition at line 172 of file InvertedLists.cpp.


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