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。  |