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/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
- config_t config;
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
- long dimensions = static_cast<std::size_t>(MArgument_getInteger(Args[2]));
20
- config.max_elements = static_cast<std::size_t>(MArgument_getInteger(Args[3]));
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
- punned_t index = index_from_name<punned_t>( //
29
- metric_cstr, strlen(metric_cstr), dimensions, accuracy, config);
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