Fix Windows ARM/ARM64 __builtin_popcountl to handle u64 #256
+1
−1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
This PR ports a small bug fix from vlasky/sqlite-vec into asg017/sqlite-vec.
The ARM/ARM64 fallback implementation was taking an
unsigned intinstead ofu64, which truncated the upper 32 bits when called fromdistance_hamming_u64. This change fixes the type to make the ARM/ARM64 path consistent with the x86 32-bit implementation.commit
u64sodistance_hamming_u64works correctly without losing the upper 32 bits.Why it fits this repo’s guidelines/policies
sqlite-vec.c, no refactors or unrelated edits.Notes (if any adaptations): Ported cleanly from
vlasky/sqlite-vecwith no functional deviations intended.Why it’s useful here
Testing