usearch 0.11.1 → 0.12.1
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/.github/workflows/prerelease.yml +2 -5
- package/.github/workflows/release.yml +22 -2
- package/.gitignore +84 -0
- package/.vscode/launch.json +7 -1
- package/.vscode/settings.json +15 -1
- package/Cargo.toml +1 -1
- package/README.md +43 -8
- package/binding.gyp +2 -2
- package/c/lib.cpp +141 -0
- package/c/usearch.h +43 -0
- package/conanfile.py +1 -1
- package/docs/compilation.md +14 -3
- package/golang/go.mod +3 -0
- package/golang/lib.go +238 -0
- package/golang/usearch.h +9 -0
- package/golang/usearch_par_test.go +40 -0
- package/golang/usearch_test.go +82 -0
- package/include/usearch/usearch.hpp +595 -248
- package/java/cloud/unum/usearch/Index.java +1 -1
- package/java/cloud/unum/usearch/cloud_unum_usearch_Index.cpp +36 -44
- package/javascript/lib.cpp +10 -6
- package/javascript/usearch.js +3 -0
- package/objc/USearchObjective.mm +3 -3
- package/package.json +4 -3
- package/python/lib.cpp +354 -181
- package/python/scripts/bench.py +2 -2
- package/python/scripts/test.py +88 -29
- package/python/usearch/index.py +132 -57
- package/rust/lib.cpp +33 -24
- package/rust/lib.hpp +2 -2
- package/setup.py +4 -1
- package/src/CMakeLists.txt +4 -4
- package/src/bench.cpp +22 -19
- package/src/punned.hpp +108 -79
- package/src/test.cpp +77 -27
- package/wolfram/lib.cpp +7 -8
- package/Dockerfile +0 -16
- package/VERSION +0 -1
package/wolfram/lib.cpp
CHANGED
|
@@ -10,23 +10,22 @@ EXTERN_C DLLEXPORT int WolframLibrary_initialize(WolframLibraryData libData) { r
|
|
|
10
10
|
EXTERN_C DLLEXPORT void WolframLibrary_uninitialize(WolframLibraryData libData) { return; }
|
|
11
11
|
|
|
12
12
|
EXTERN_C DLLEXPORT int IndexCreate(WolframLibraryData libData, mint Argc, MArgument* Args, MArgument Res) {
|
|
13
|
-
|
|
13
|
+
index_config_t config;
|
|
14
14
|
char* accuracy_cstr = nullptr;
|
|
15
15
|
char* metric_cstr = nullptr;
|
|
16
16
|
try {
|
|
17
17
|
accuracy_cstr = MArgument_getUTF8String(Args[1]);
|
|
18
18
|
metric_cstr = MArgument_getUTF8String(Args[0]);
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
std::size_t dimensions = static_cast<std::size_t>(MArgument_getInteger(Args[2]));
|
|
20
|
+
std::size_t capacity = static_cast<std::size_t>(MArgument_getInteger(Args[3]));
|
|
21
21
|
config.connectivity = static_cast<std::size_t>(MArgument_getInteger(Args[4]));
|
|
22
22
|
config.expansion_add = static_cast<std::size_t>(MArgument_getInteger(Args[5]));
|
|
23
23
|
config.expansion_search = static_cast<std::size_t>(MArgument_getInteger(Args[6]));
|
|
24
|
-
config.max_threads_add = 4;
|
|
25
|
-
config.max_threads_search = 4;
|
|
26
24
|
|
|
27
|
-
accuracy_t accuracy = accuracy_from_name(accuracy_cstr, strlen(accuracy_cstr));
|
|
28
|
-
|
|
29
|
-
|
|
25
|
+
accuracy_t accuracy = accuracy_from_name(accuracy_cstr, std::strlen(accuracy_cstr));
|
|
26
|
+
common_metric_kind_t metric_kind = common_metric_from_name(metric_cstr, std::strlen(metric_cstr));
|
|
27
|
+
punned_t index = make_punned<punned_t>(metric_kind, dimensions, accuracy, config);
|
|
28
|
+
index.reserve(capacity);
|
|
30
29
|
|
|
31
30
|
punned_t* result_ptr = new punned_t(std::move(index));
|
|
32
31
|
MArgument_setInteger(Res, (long)result_ptr);
|
package/Dockerfile
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
# syntax=docker/dockerfile:1
|
|
2
|
-
|
|
3
|
-
FROM ubuntu:23.04
|
|
4
|
-
ENV DEBIAN_FRONTEND=noninteractive
|
|
5
|
-
|
|
6
|
-
RUN apt-get update && \
|
|
7
|
-
apt-get install -y --no-install-recommends python3.11 python3-pip && \
|
|
8
|
-
apt-get clean && \
|
|
9
|
-
rm -rf /var/lib/apt/lists/*
|
|
10
|
-
RUN pip3 install --no-cache-dir --break-system-packages ucall usearch
|
|
11
|
-
|
|
12
|
-
WORKDIR /usearch
|
|
13
|
-
COPY python/usearch/server.py server.py
|
|
14
|
-
|
|
15
|
-
ENTRYPOINT ["python3", "./server.py"]
|
|
16
|
-
EXPOSE 8545
|
package/VERSION
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
0.11.1
|