Struct faiss::ZnSphereCodecAlt
-
struct ZnSphereCodecAlt : public faiss::ZnSphereCodec
Codec that uses the recursive codec if dim is a power of 2 and the regular one otherwise
Public Functions
-
ZnSphereCodecAlt(int dim, int r2)
-
virtual uint64_t encode(const float *x) const override
takes vectors that do not need to be centroids
-
virtual void decode(uint64_t code, float *c) const override
decode it
-
uint64_t search_and_encode(const float *x) const
-
float search(const float *x, float *c) const
find nearest centroid. x does not need to be normalized
-
float search(const float *x, float *c, float *tmp, int *tmp_int, int *ibest_out = nullptr) const
full call. Requires externally-allocated temp space
-
void search_multi(int n, const float *x, float *c_out, float *dp_out)
-
void encode_multi(size_t nc, const float *c, uint64_t *codes) const
-
void decode_multi(size_t nc, const uint64_t *codes, float *c) const
-
void find_nn(size_t n, const uint64_t *codes, size_t nq, const float *xq, int64_t *idx, float *dis)
Public Members
-
bool use_rec
-
ZnSphereCodecRec znc_rec
-
std::vector<CodeSegment> code_segments
-
uint64_t nv
-
size_t code_size
-
int dimS
-
int r2
-
int natom
-
std::vector<float> voc
size dim * ntatom
-
int dim
-
ZnSphereCodecAlt(int dim, int r2)