昇腾社区首页
中文
注册
开发者
下载

GetPQDistance接口

API定义

int GetPQDistance(const uint8_t *basecode, const DiskPQParams *params, const float *pqDistanceTable, float &pqDistance);

功能描述

使用basecode指向的底库向量对应的压缩码字数据和GetPQDistanceTable接口中获取的pqDistanceTable,计算query与该底库向量的PQ距离。

输入

const uint8_t *basecode:指向一个底库向量对应的压缩码字数据的指针。

const DiskPQParams *params:指向填充好pqChunks数值的DiskPQParams实例的指针。不能为空指针。

const float *pqDistanceTable:指向query对应的ADC PQ距离表的指针。

输出

float &pqDistance:接收最终输出的PQ距离的引用值。

返回值

int:返回值为0时表示流程正常;返回值为-1时表示流程异常,且会将异常日志信息打印到cerr中。

约束说明

  • 用户需保证basecode指向的数据大小至少有pqChunks个字节。
  • 在params中,仅需填充pqChunks值,且与basecode中提到的pqChunks值对应。
  • 用户需保证pqDistanceTable指向的数据大小至少有pqChunks * 256 * sizeof(float)字节数。
  • 接口中不会在使用前对pqDistance置零,pqDistance最终结果为原pqDistance值 + 输出的query与basecode的PQ距离,因此推荐输入值为0。