11 #include "IndexBinaryFlat.h"
17 #include "FaissAssert.h"
18 #include "AuxIndexStructures.h"
22 IndexBinaryFlat::IndexBinaryFlat(idx_t d)
36 int32_t *distances,
idx_t *labels)
const {
37 const idx_t block_size = query_batch_size;
38 for (
idx_t s = 0; s < n; s += block_size) {
39 idx_t nn = block_size;
40 if (s + block_size > n) {
47 size_t(nn), size_t(k), labels + s * k, distances + s * k
54 distances + s * k, labels + s * k);
62 if (sel.is_member(i)) {
71 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 )
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
long idx_t
all indices are this type