10 #include "IndexBinaryFlat.h"
16 #include "FaissAssert.h"
17 #include "AuxIndexStructures.h"
21 IndexBinaryFlat::IndexBinaryFlat(idx_t d)
35 int32_t *distances,
idx_t *labels)
const {
36 const idx_t block_size = query_batch_size;
37 for (
idx_t s = 0; s < n; s += block_size) {
38 idx_t nn = block_size;
39 if (s + block_size > n) {
46 size_t(nn), size_t(k), labels + s * k, distances + s * k
53 distances + s * k, labels + s * k);
61 if (sel.is_member(i)) {
70 long nremove = ntotal - j;
void hammings_knn_hc(int_maxheap_array_t *ha, const uint8_t *a, const uint8_t *b, size_t nb, size_t ncodes, int order)
void add(idx_t n, const uint8_t *x) override
void hammings_knn_mc(const uint8_t *a, const uint8_t *b, size_t na, size_t nb, size_t k, size_t ncodes, int32_t *distances, long *labels)
long remove_ids(const IDSelector &sel) override
void search(idx_t n, const uint8_t *x, idx_t k, int32_t *distances, idx_t *labels) const override
void reconstruct(idx_t key, uint8_t *recons) const override
int code_size
number of bytes per vector ( = d / 8 )
Index::idx_t idx_t
all indices are this type
void reset() override
Removes all elements from the database.
idx_t ntotal
total nb of indexed vectors
std::vector< uint8_t > xb
database vectors, size ntotal * d / 8