krl_table_lookup_8b_f32
接口定义
int krl_table_lookup_8b_f32(size_t nsq, size_t ncode, const uint8_t* codes, const float* sim_table, float* distance, float dis0, size_t codes_size, size_t sim_table_size, size_t dis_size);
接口用途
使用8bit索引在float类型表项中查询距离并累和,将累和结果加上dis0后存入distance。
参数说明
参数名称 |
数据类型 |
描述 |
取值范围 |
|---|---|---|---|
nsq |
size_t |
子空间数量。 |
[1,65535] |
ncode |
size_t |
倒排列表中的向量数。 |
[1,2^30-1] |
codes |
const uint8_t* |
码本,底库向量对应的索引。 |
限制长度为codes_size,其中“codes_size”为码本数组的长度。 |
sim_table |
const float* |
码表,存储每维度查询向量与所有质心的距离。 |
限制长度为sim_table_size,其中“sim_table_size”为码表数组的长度。 |
dis |
float* |
存储计算所得的距离结果。 |
限制长度为dis_size,其中“dis_size”为存储距离结果数组的长度。需预先分配内存。 |
dis0 |
float |
初始距离。 |
浮点数。 |
codes_size |
size_t |
码本数组的长度。 |
nsq*ncode,其中“nsq”为子空间数量,“ncode”为倒排列表中的向量数。 |
sim_table_size |
size_t |
码表数组的长度。 |
nsq*256,其中“nsq”为子空间数量。 |
dis_size |
size_t |
存储距离结果数组的长度。 |
ncode,其中“ncode”为倒排列表中的向量数。 |
返回值
数据类型 |
说明 |
|---|---|
int |
正常运行时返回0,异常退出返回对应错误码。
|