结构体 faiss::FlatCodesDistanceComputer
-
struct FlatCodesDistanceComputer : public faiss::DistanceComputer
被 faiss::ScalarQuantizer::SQDistanceComputer 继承
公共函数
-
inline FlatCodesDistanceComputer(const uint8_t *codes, size_t code_size)
-
inline FlatCodesDistanceComputer()
-
inline virtual float operator()(idx_t i) override
计算向量 i 到当前查询的距离
-
virtual float distance_to_code(const uint8_t *code) = 0
计算当前查询到一个编码向量的距离
-
inline virtual ~FlatCodesDistanceComputer()
-
virtual void set_query(const float *x) = 0
在计算距离前调用。指针 x 在 operator () 被调用时应保持有效
-
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 uint8_t *codes
-
size_t code_size
-
inline FlatCodesDistanceComputer(const uint8_t *codes, size_t code_size)