mirror of
https://github.com/asg017/sqlite-vec.git
synced 2026-04-25 08:46:49 +02:00
ann-filtering-benchmark directory
This commit is contained in:
parent
052ba4b089
commit
f55e14cce8
7 changed files with 259 additions and 18 deletions
37
sqlite-vec.c
37
sqlite-vec.c
|
|
@ -5972,6 +5972,15 @@ int vec0_set_metadata_filter_bitmap(
|
|||
}
|
||||
break;
|
||||
}
|
||||
case VEC0_METADATA_OPERATOR_NE: {
|
||||
for(int i = 0; i < size; i++) {
|
||||
u8 * view = &((u8*) buffer)[i * VEC0_METADATA_TEXT_VIEW_BUFFER_LENGTH];
|
||||
int n = ((int*) view)[0];
|
||||
char * s = (char *) &view[4];
|
||||
bitmap_set(b, i, strncmp(s, target, n) != 0);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case VEC0_METADATA_OPERATOR_GT: {
|
||||
for(int i = 0; i < size; i++) {
|
||||
u8 * view = &((u8*) buffer)[i * VEC0_METADATA_TEXT_VIEW_BUFFER_LENGTH];
|
||||
|
|
@ -5981,6 +5990,15 @@ int vec0_set_metadata_filter_bitmap(
|
|||
}
|
||||
break;
|
||||
}
|
||||
case VEC0_METADATA_OPERATOR_GE: {
|
||||
for(int i = 0; i < size; i++) {
|
||||
u8 * view = &((u8*) buffer)[i * VEC0_METADATA_TEXT_VIEW_BUFFER_LENGTH];
|
||||
int n = ((int*) view)[0];
|
||||
char * s = (char *) &view[4];
|
||||
bitmap_set(b, i, strncmp(s, target, n) >= 0);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case VEC0_METADATA_OPERATOR_LE: {
|
||||
for(int i = 0; i < size; i++) {
|
||||
u8 * view = &((u8*) buffer)[i * VEC0_METADATA_TEXT_VIEW_BUFFER_LENGTH];
|
||||
|
|
@ -5999,24 +6017,7 @@ int vec0_set_metadata_filter_bitmap(
|
|||
}
|
||||
break;
|
||||
}
|
||||
case VEC0_METADATA_OPERATOR_GE: {
|
||||
for(int i = 0; i < size; i++) {
|
||||
u8 * view = &((u8*) buffer)[i * VEC0_METADATA_TEXT_VIEW_BUFFER_LENGTH];
|
||||
int n = ((int*) view)[0];
|
||||
char * s = (char *) &view[4];
|
||||
bitmap_set(b, i, strncmp(s, target, n) >= 0);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case VEC0_METADATA_OPERATOR_NE: {
|
||||
for(int i = 0; i < size; i++) {
|
||||
u8 * view = &((u8*) buffer)[i * VEC0_METADATA_TEXT_VIEW_BUFFER_LENGTH];
|
||||
int n = ((int*) view)[0];
|
||||
char * s = (char *) &view[4];
|
||||
bitmap_set(b, i, strncmp(s, target, n) != 0);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue