结构体 faiss::ScalarQuantizer::SQDistanceComputer
-
struct SQDistanceComputer : public faiss::FlatCodesDistanceComputer
公共函数
-
inline SQDistanceComputer()
-
virtual float query_to_code(const uint8_t *code) const = 0
-
inline virtual float distance_to_code(const uint8_t *code) final
计算当前查询向量与编码向量的距离
-
inline virtual float operator()(idx_t i) override
计算向量 i 与当前查询向量的距离
-
virtual void set_query(const float *x) = 0
在计算距离之前调用。当 operator() 被调用时,指针 x 应该保持有效。
-
inline virtual void distances_batch_4(const idx_t idx0, const idx_t idx1, const idx_t idx2, const idx_t idx3, float &dis0, float &dis1, float &dis2, float &dis3)
计算当前查询向量与 4 个存储向量的距离。某些 DistanceComputer 的实现可能从该函数中获益良多。
公共成员
-
const float *q
-
const uint8_t *codes
-
size_t code_size
-
inline SQDistanceComputer()