Up to 200x Faster Inner Products and Vector Similarity — for Python, JavaScript, Rust, C, and Swift, supporting f64, f32, f16 real & complex, i8, and binary vectors using SIMD for both x86 AVX2 & AVX-512 and Arm NEON & SVE 📐
E.g., USearch depends on this behaviour and expects simsimd to define
simsimd_f16_t when passing in SIMSIMD_NATIVE_F16=1 1
So far this had not caused issues because either USEARCH_USE_FP16LIB was set to true or (in benchmarks) simsimd.h was included directly, which resulted in this logic in simsimd being evaluated before compilation got to index_plugins.hpp#L50.
E.g., USearch depends on this behaviour and expects simsimd to define
simsimd_f16_t
when passing in SIMSIMD_NATIVE_F16=1 1So far this had not caused issues because either
USEARCH_USE_FP16LIB
was set to true or (in benchmarks)simsimd.h
was included directly, which resulted in this logic in simsimd being evaluated before compilation got toindex_plugins.hpp#L50
.