mirror of
https://github.com/asg017/sqlite-vec.git
synced 2026-04-25 16:56:27 +02:00
doc
This commit is contained in:
parent
163fc2db44
commit
29d4750c0f
1 changed files with 8 additions and 1 deletions
|
|
@ -304,9 +304,16 @@ static f32 distance_hamming_u64(u64 *a, u64 *b, size_t n) {
|
||||||
return (f32)same;
|
return (f32)same;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Calculate the hamming distance between two bitvectors.
|
||||||
|
*
|
||||||
|
* @param a - first bitvector, MUST have d dimensions
|
||||||
|
* @param b - second bitvector, MUST have d dimensions
|
||||||
|
* @param d - pointer to size_t, MUST be divisible by CHAR_BIT
|
||||||
|
* @return f32
|
||||||
|
*/
|
||||||
static f32 distance_hamming(const void *a, const void *b, const void *d) {
|
static f32 distance_hamming(const void *a, const void *b, const void *d) {
|
||||||
size_t dimensions = *((size_t *)d);
|
size_t dimensions = *((size_t *)d);
|
||||||
todo_assert((dimensions % CHAR_BIT) == 0);
|
|
||||||
|
|
||||||
if ((dimensions % 64) == 0) {
|
if ((dimensions % 64) == 0) {
|
||||||
return distance_hamming_u64((u64 *)a, (u64 *)b, dimensions / 8 / CHAR_BIT);
|
return distance_hamming_u64((u64 *)a, (u64 *)b, dimensions / 8 / CHAR_BIT);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue