krl_table_lookup_8b_f32_with_handle
接口定义
int krl_table_lookup_8b_f32_with_handle(KRLLUT8bHandle* klh, size_t dim, size_t ncode, const uint8_t* codes, const float* sim_table, float dis0, size_t codes_size, size_t sim_table_size);
接口用途
使用8bit索引在float类型表项中查询距离并累和,将累和结果加上dis0后存入distance。idx数组与distance数组被包含在KRLLUT8bHandle实例中,ID在idx数组中出现的底库向量结果才会参与计算。
参数说明
参数名称 |
数据类型 |
描述 |
取值范围 |
|---|---|---|---|
klh |
KRLLUT8bHandle* |
KRLLUT8bHandle指针。 |
限制非空,需要使用krl_create_LUT8b_handle初始化。 |
dim |
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”为码表数组的长度。 |
dis0 |
float |
初始距离。 |
浮点数。 |
codes_size |
size_t |
码本数组的长度。 |
dim*ncode,其中“dim”为向量维度,“ncode”为倒排列表中的向量数。 |
sim_table_size |
size_t |
码表数组的长度。 |
dim*256,其中“dim”为向量维度。 |
返回值
数据类型 |
说明 |
|---|---|
int |
正常运行时返回0,异常退出返回对应错误码。
|