11 #ifndef FAISS_INDEX_BINARY_H
12 #define FAISS_INDEX_BINARY_H
19 #include "FaissAssert.h"
28 struct RangeSearchResult;
58 FAISS_THROW_IF_NOT(
d % 8 == 0);
69 virtual void train(idx_t n,
const uint8_t *x);
76 virtual void add(idx_t n,
const uint8_t *x) = 0;
85 virtual void add_with_ids(idx_t n,
const uint8_t *x,
const long *xids);
96 virtual void search(idx_t n,
const uint8_t *x, idx_t k,
97 int32_t *distances, idx_t *labels)
const = 0;
109 virtual void range_search(idx_t n,
const uint8_t *x,
int radius,
118 void assign(idx_t n,
const uint8_t *x, idx_t *labels, idx_t k = 1);
121 virtual void reset() = 0;
133 virtual void reconstruct(idx_t key, uint8_t *recons)
const;
141 virtual void reconstruct_n(idx_t i0, idx_t ni, uint8_t *recons)
const;
152 int32_t *distances, idx_t *labels,
153 uint8_t *recons)
const;
162 #endif // FAISS_INDEX_BINARY_H
virtual void search(idx_t n, const uint8_t *x, idx_t k, int32_t *distances, idx_t *labels) const =0
virtual void reset()=0
Removes all elements from the database.
bool verbose
verbosity level
virtual long remove_ids(const IDSelector &sel)
bool is_trained
set if the Index does not require training, or if training is done already
virtual void train(idx_t n, const uint8_t *x)
int code_size
number of bytes per vector ( = d / 8 )
virtual void reconstruct(idx_t key, uint8_t *recons) const
void assign(idx_t n, const uint8_t *x, idx_t *labels, idx_t k=1)
virtual void range_search(idx_t n, const uint8_t *x, int radius, RangeSearchResult *result) const
virtual void add_with_ids(idx_t n, const uint8_t *x, const long *xids)
virtual void search_and_reconstruct(idx_t n, const uint8_t *x, idx_t k, int32_t *distances, idx_t *labels, uint8_t *recons) const
virtual void reconstruct_n(idx_t i0, idx_t ni, uint8_t *recons) const
idx_t ntotal
total nb of indexed vectors
long idx_t
all indices are this type
virtual void add(idx_t n, const uint8_t *x)=0
MetricType metric_type
type of metric this index uses for search
MetricType
Some algorithms support both an inner product version and a L2 search version.