krl_create_distance_handle
Interface Definition
int krl_create_distance_handle(KRLDistanceHandle** kdh, size_t accu_level, size_t blocksize, size_t codes_num, size_t dim, size_t num_base, int metric_type, const uint8_t* codes, size_t codes_size);
Function
Initializes and constructs a KRLDistanceHandle instance for dense distance computation.
Parameters
Parameter |
Data Type |
Description |
Value Range |
|---|---|---|---|
kdh |
KRLDistanceHandle** |
Pointer to the KRLDistanceHandle instance to be initialized. |
It cannot be null and should point to a null pointer. |
accu_level |
size_t |
Quantization level during computation. |
[1, 3]
|
blocksize |
size_t |
Data block size. |
16, 32, or 64. Select the largest value that evenly divides the total number of base vectors. |
codes_num |
size_t |
Number of base vectors computed for each query vector. |
[1, 2^30 – 1] |
dim |
size_t |
Vector dimension. |
[1, 65535] |
num_base |
size_t |
Number of vectors processed in a batch. |
[1, 65535] |
metric_type |
int |
Distance measurement type. |
[0, 1]
|
codes |
const uint8_t* |
Base vectors (float). |
The size is specified by codes_size. |
codes_size |
size_t |
Length of base vectors. |
num_base x codes_num x dim x 4 |
Return Values
Data Type |
Description |
|---|---|
int |
0 is returned on successful execution. In case of failure, an error code is returned to indicate the specific issue:
|