usearch 2.15.3 → 2.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/cpp/test.cpp +16 -0
- package/include/usearch/index.hpp +21 -5
- package/include/usearch/index_dense.hpp +6 -1
- package/include/usearch/index_plugins.hpp +345 -8
- package/javascript/lib.cpp +17 -5
- package/javascript/usearch.test.js +190 -21
- package/package.json +1 -1
- package/prebuilds/darwin-arm64+x64/usearch.node +0 -0
- package/prebuilds/linux-arm64/usearch.node +0 -0
- package/prebuilds/linux-x64/usearch.node +0 -0
- package/simsimd/.git-blame-ignore-revs +2 -0
- package/simsimd/CONTRIBUTING.md +71 -23
- package/simsimd/Cargo.lock +1 -1
- package/simsimd/Cargo.toml +4 -4
- package/simsimd/MANIFEST.in +2 -1
- package/simsimd/Package.swift +15 -3
- package/simsimd/README.md +104 -35
- package/simsimd/binding.gyp +6 -2
- package/simsimd/build.rs +2 -0
- package/simsimd/c/lib.c +180 -99
- package/simsimd/include/simsimd/binary.h +311 -102
- package/simsimd/include/simsimd/curved.h +134 -135
- package/simsimd/include/simsimd/dot.h +448 -274
- package/simsimd/include/simsimd/elementwise.h +1437 -0
- package/simsimd/include/simsimd/geospatial.h +2 -2
- package/simsimd/include/simsimd/mesh.h +2 -2
- package/simsimd/include/simsimd/probability.h +88 -88
- package/simsimd/include/simsimd/simsimd.h +1157 -772
- package/simsimd/include/simsimd/sparse.h +768 -147
- package/simsimd/include/simsimd/spatial.h +955 -376
- package/simsimd/include/simsimd/types.h +145 -71
- package/simsimd/javascript/lib.c +1 -2
- package/simsimd/package.json +4 -4
- package/simsimd/rust/lib.rs +14 -1
- package/simsimd/scripts/bench.cxx +1070 -0
- package/simsimd/scripts/bench.ipynb +187 -0
- package/simsimd/{javascript → scripts}/bench.js +1 -1
- package/simsimd/{rust/benches/sqeuclidean.rs → scripts/bench_sqeuclidean.rs} +6 -6
- package/simsimd/scripts/bench_vectors.py +700 -0
- package/simsimd/scripts/bench_vectors_live.py +213 -0
- package/simsimd/scripts/test.c +155 -0
- package/simsimd/{javascript → scripts}/test.mjs +2 -2
- package/simsimd/scripts/test.py +1410 -0
- package/simsimd/swift/{source/SimSIMD.swift → SimSIMD.swift} +6 -2
- package/simsimd/swift/{tests/SimSIMDTests.swift → Test.swift} +1 -1
- /package/simsimd/{rust/benches/cosine.rs → scripts/bench_cosine.rs} +0 -0
- /package/simsimd/{rust/benches/native.rs → scripts/bench_native.rs} +0 -0
|
@@ -95,8 +95,10 @@ extension simsimd_capability_t: OptionSet, CustomStringConvertible {
|
|
|
95
95
|
if contains(.haswell) { components.append(".haswell") }
|
|
96
96
|
if contains(.skylake) { components.append(".skylake") }
|
|
97
97
|
if contains(.ice) { components.append(".ice") }
|
|
98
|
-
if contains(.sapphire) { components.append(".sapphire") }
|
|
99
98
|
if contains(.genoa) { components.append(".genoa") }
|
|
99
|
+
if contains(.sapphire) { components.append(".sapphire") }
|
|
100
|
+
if contains(.turin) { components.append(".turin") }
|
|
101
|
+
if contains(.sierra) { components.append(".sierra") }
|
|
100
102
|
return "[\(components.joined(separator: ", "))]"
|
|
101
103
|
}
|
|
102
104
|
|
|
@@ -109,8 +111,10 @@ extension simsimd_capability_t: OptionSet, CustomStringConvertible {
|
|
|
109
111
|
public static let haswell = simsimd_cap_haswell_k
|
|
110
112
|
public static let skylake = simsimd_cap_skylake_k
|
|
111
113
|
public static let ice = simsimd_cap_ice_k
|
|
112
|
-
public static let sapphire = simsimd_cap_sapphire_k
|
|
113
114
|
public static let genoa = simsimd_cap_genoa_k
|
|
115
|
+
public static let sapphire = simsimd_cap_sapphire_k
|
|
116
|
+
public static let turin = simsimd_cap_turin_k
|
|
117
|
+
public static let sierra = simsimd_cap_sierra_k
|
|
114
118
|
}
|
|
115
119
|
|
|
116
120
|
@inline(__always)
|
|
@@ -38,7 +38,7 @@ class SimSIMDTests: XCTestCase {
|
|
|
38
38
|
let a: [Int8] = [1, 2, 3]
|
|
39
39
|
let b: [Int8] = [4, 5, 6]
|
|
40
40
|
let result = try XCTUnwrap(a.dot(b))
|
|
41
|
-
XCTAssertEqual(result, 0
|
|
41
|
+
XCTAssertEqual(result, 32.0, accuracy: 0.01)
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
func testDotFloat16() throws {
|
|
File without changes
|
|
File without changes
|