GetPQDistance
接口定义
int GetPQDistance(const unsigned char *basecode, const unsigned char *querycode, const PQParams *params, const float *pqDistanceTable, float *PQDistance, size_t basecode_size, size_t querycode_size, size_t pqDistanceTable_size, size_t pqDistance_size);
接口用途
计算PQ ADC或SDC距离。若querycode == NULL,计算的是ADC距离;若querycode != NULL,计算的是SDC距离。
参数说明
参数名称 |
数据类型 |
描述 |
取值范围 |
|---|---|---|---|
basecode |
unsigned char* |
量化后的base。 |
限制非空。 |
querycode |
unsigned char* |
量化后的query。 |
- |
pqDistanceTable |
float* |
SDC/ADC距离表。 |
限制非空。 |
PQDistance |
float* |
SDC/ADC距离。 |
限制非空。 |
basecode_size |
size_t |
量化后的base数组的长度。 |
限制为pqM,其中“pqM”是结构体“PQParams”中的字段,表示子空间数。 |
querycode_size |
size_t |
量化后的query数组的长度。 |
若querycode非空,限制为pqM,其中“querycode”表示量化后的query。 |
pqDistanceTable_size |
size_t |
SDC/ADC距离表数组的长度。 |
若querycode为空时,限制为pqM*pqKsub,querycode非空时,限制为pqM*pqKsub*pqKsub,其中“querycode”表示量化后的query,“pqKsub”是结构体“PQParams”中的字段,表示子空间内聚类中心数。 |
PQDistance_size |
size_t |
SDC/ADC距离数组的长度。 |
限制为1。 |
params |
PQParams |
字段描述请参见结构体说明中的“PQParams”字段描述。 |
|
返回值
数据类型 |
说明 |
|---|---|
int |
正常运行时返回0,异常退出返回-1。 |