44 METRIC_INNER_PRODUCT = 0,
51 struct RangeSearchResult;
100 virtual void add (
idx_t n,
const float *x) = 0;
121 float *distances,
idx_t *labels)
const = 0;
145 virtual void reset() = 0;
virtual void reset()=0
removes all elements from the database.
virtual void train(idx_t, const float *)
void assign(idx_t n, const float *x, idx_t *labels, idx_t k=1)
virtual void add_with_ids(idx_t n, const float *x, const long *xids)
virtual void reconstruct_n(idx_t i0, idx_t ni, float *recons) const
virtual void add(idx_t n, const float *x)=0
long idx_t
all indices are this type
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 vetsion and a L2 search version.