19 #define FAISS_VERSION_MAJOR 1
20 #define FAISS_VERSION_MINOR 5
21 #define FAISS_VERSION_PATCH 2
45 METRIC_INNER_PRODUCT = 0,
52 struct RangeSearchResult;
63 using component_t = float;
64 using distance_t = float;
91 virtual void train(idx_t n,
const float* x);
100 virtual void add (idx_t n,
const float *x) = 0;
109 virtual void add_with_ids (idx_t n,
const float * x,
const long *xids);
120 virtual void search (idx_t n,
const float *x, idx_t k,
121 float *distances, idx_t *labels)
const = 0;
133 virtual void range_search (idx_t n,
const float *x,
float radius,
142 void assign (idx_t n,
const float * x, idx_t * labels, idx_t k = 1);
145 virtual void reset() = 0;
157 virtual void reconstruct (idx_t key,
float * recons)
const;
165 virtual void reconstruct_n (idx_t i0, idx_t ni,
float *recons)
const;
176 float *distances, idx_t *labels,
177 float *recons)
const;
virtual void reset()=0
removes all elements from the database.
virtual void search_and_reconstruct(idx_t n, const float *x, idx_t k, float *distances, idx_t *labels, float *recons) const
void assign(idx_t n, const float *x, idx_t *labels, idx_t k=1)
virtual void train(idx_t n, const float *x)
virtual void add_with_ids(idx_t n, const float *x, const long *xids)
long idx_t
all indices are this type
virtual void reconstruct_n(idx_t i0, idx_t ni, float *recons) const
virtual void add(idx_t n, const float *x)=0
idx_t ntotal
total nb of indexed vectors
bool verbose
verbosity level
virtual long remove_ids(const IDSelector &sel)
virtual void search(idx_t n, const float *x, idx_t k, float *distances, idx_t *labels) const =0
MetricType metric_type
type of metric this index uses for search
virtual void range_search(idx_t n, const float *x, float radius, RangeSearchResult *result) const
bool is_trained
set if the Index does not require training, or if training is done already
void compute_residual(const float *x, float *residual, idx_t key) const
virtual void reconstruct(idx_t key, float *recons) const
MetricType
Some algorithms support both an inner product version and a L2 search version.