mirror of
https://github.com/asg017/sqlite-vec.git
synced 2026-04-25 00:36:56 +02:00
Add unit tests for distance functions (L2, cosine, hamming)
Add test-only wrappers behind SQLITE_VEC_TEST compile flag to expose static distance functions for unit testing. Includes tests for distance_l2_sqr_float (4 cases), distance_cosine_float (3 cases), and distance_hamming (4 cases). Print active SIMD flags at test start. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
79d5818015
commit
aab9b37de2
4 changed files with 141 additions and 1 deletions
12
sqlite-vec.c
12
sqlite-vec.c
|
|
@ -562,6 +562,18 @@ static f32 distance_hamming(const void *a, const void *b, const void *d) {
|
|||
return distance_hamming_u8((u8 *)a, (u8 *)b, dimensions / CHAR_BIT);
|
||||
}
|
||||
|
||||
#ifdef SQLITE_VEC_TEST
|
||||
f32 _test_distance_l2_sqr_float(const f32 *a, const f32 *b, size_t dims) {
|
||||
return distance_l2_sqr_float(a, b, &dims);
|
||||
}
|
||||
f32 _test_distance_cosine_float(const f32 *a, const f32 *b, size_t dims) {
|
||||
return distance_cosine_float(a, b, &dims);
|
||||
}
|
||||
f32 _test_distance_hamming(const u8 *a, const u8 *b, size_t dims) {
|
||||
return distance_hamming(a, b, &dims);
|
||||
}
|
||||
#endif
|
||||
|
||||
// from SQLite source:
|
||||
// https://github.com/sqlite/sqlite/blob/a509a90958ddb234d1785ed7801880ccb18b497e/src/json.c#L153
|
||||
static const char vecJsonIsSpaceX[] = {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue