鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

krl_inner_product_by_idx

接口定义

int krl_inner_product_by_idx(float* dis, const float* x, const float* y, const int64_t* ids, size_t d, size_t ny, size_t dis_size);

接口用途

进行数据类型为float的一对多内积距离计算。

参数说明

参数名称

数据类型

描述

取值范围

dis

float*

存储计算所得的距离结果。

限制长度为dis_size,其中“dis_size”为存储距离结果数组的长度。需要预先分配内存。

x

const float*

参与距离计算的查询向量。

限制长度为d,其中“d”为向量维度。

y

const float*

参与距离计算的底库向量。

限制长度为d*ny,其中“d”为向量维度,“ny”为参与距离计算的底库向量个数。

ids

const int64_t*

参与距离计算的底库向量ID。

限制长度为ny,其中“ny”为参与距离计算的底库向量个数。ID大于等于0,小于底库向量的总数。

d

size_t

向量维度。

[1,65535]

ny

size_t

参与距离计算的底库向量个数。

[1,2^30-1]

dis_size

size_t

存储距离结果数组的长度。

ny,其中“ny”为参与距离计算的底库向量个数。

返回值

数据类型

说明

int

正常运行时返回0,异常退出返回对应错误码。

  • -1:非法指针。
  • -2:内存分配失败。
  • -3:非法入参。
  • -4:双重释放。
  • -5:不安全内存操作。
  • -6:IO失败。