usearch 2.8.6 → 2.8.8

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.
Files changed (102) hide show
  1. package/CITATION.cff +1 -1
  2. package/CMakeLists.txt +3 -3
  3. package/CONTRIBUTING.md +3 -3
  4. package/Cargo.toml +1 -1
  5. package/Dockerfile +16 -0
  6. package/README.md +41 -38
  7. package/VERSION +1 -0
  8. package/binding.gyp +57 -8
  9. package/conanfile.py +1 -1
  10. package/include/usearch/index.hpp +1 -1
  11. package/include/usearch/index_plugins.hpp +27 -23
  12. package/package.json +4 -3
  13. package/setup.py +76 -15
  14. package/wasmer.toml +1 -1
  15. package/. npmignore +0 -14
  16. package/.gitignore +0 -95
  17. package/.vscode/launch.json +0 -181
  18. package/.vscode/settings.json +0 -180
  19. package/.vscode/tasks.json +0 -71
  20. package/Package.swift +0 -41
  21. package/csharp/.editorconfig +0 -361
  22. package/csharp/Cloud.Unum.USearch.sln +0 -34
  23. package/csharp/DEV_SETUP.md +0 -51
  24. package/csharp/Directory.Build.props +0 -29
  25. package/csharp/README.md +0 -74
  26. package/csharp/build_and_test.cmd +0 -31
  27. package/csharp/build_and_test.sh +0 -30
  28. package/csharp/nuget/nuget-package.props +0 -33
  29. package/csharp/pack.sh +0 -56
  30. package/csharp/src/Cloud.Unum.USearch.Tests/Cloud.Unum.USearch.Tests.csproj +0 -39
  31. package/csharp/src/Cloud.Unum.USearch.Tests/USearchIndexTests.cs +0 -1013
  32. package/csharp/src/Cloud.Unum.USearch.Tests/Usings.cs +0 -1
  33. package/docs/_static/custom.css +0 -26
  34. package/docs/_static/custom.js +0 -7
  35. package/docs/benchmarks.md +0 -245
  36. package/docs/benchmarks.rst +0 -5
  37. package/docs/c/index.rst +0 -11
  38. package/docs/c/reference.rst +0 -7
  39. package/docs/conf.dox +0 -2668
  40. package/docs/conf.py +0 -53
  41. package/docs/contributing.rst +0 -5
  42. package/docs/cpp/index.rst +0 -11
  43. package/docs/cpp/reference.rst +0 -17
  44. package/docs/csharp/index.rst +0 -6
  45. package/docs/format.md +0 -86
  46. package/docs/format.rst +0 -5
  47. package/docs/golang/index.rst +0 -6
  48. package/docs/index.rst +0 -33
  49. package/docs/java/index.rst +0 -11
  50. package/docs/java/reference.rst +0 -7
  51. package/docs/javascript/index.rst +0 -11
  52. package/docs/javascript/reference.rst +0 -12
  53. package/docs/python/index.rst +0 -11
  54. package/docs/python/reference.rst +0 -42
  55. package/docs/rust/index.rst +0 -6
  56. package/docs/swift/index.rst +0 -6
  57. package/docs/wolfram/index.rst +0 -6
  58. package/golang/README.md +0 -95
  59. package/golang/go.mod +0 -3
  60. package/golang/lib.go +0 -379
  61. package/golang/lib_test.go +0 -108
  62. package/java/README.md +0 -22
  63. package/java/cloud/unum/usearch/Index.java +0 -337
  64. package/java/cloud/unum/usearch/cloud_unum_usearch_Index.cpp +0 -197
  65. package/java/cloud/unum/usearch/cloud_unum_usearch_Index.h +0 -125
  66. package/java/test/IndexTest.java +0 -30
  67. package/objc/USearchObjective.mm +0 -299
  68. package/objc/include/USearchObjective.h +0 -154
  69. package/python/README.md +0 -292
  70. package/python/lib.cpp +0 -1216
  71. package/python/scripts/bench.ipynb +0 -193
  72. package/python/scripts/bench.py +0 -137
  73. package/python/scripts/bench_exact.py +0 -44
  74. package/python/scripts/cluster.ipynb +0 -160
  75. package/python/scripts/index_faiss.py +0 -100
  76. package/python/scripts/join.py +0 -155
  77. package/python/scripts/test_index.py +0 -247
  78. package/python/scripts/test_jit.py +0 -231
  79. package/python/scripts/test_sparse.py +0 -32
  80. package/python/scripts/test_tooling.py +0 -133
  81. package/python/usearch/__init__.py +0 -0
  82. package/python/usearch/client.py +0 -124
  83. package/python/usearch/eval.py +0 -470
  84. package/python/usearch/index.py +0 -1401
  85. package/python/usearch/io.py +0 -113
  86. package/python/usearch/numba.py +0 -121
  87. package/python/usearch/server.py +0 -137
  88. package/rust/README.md +0 -66
  89. package/rust/lib.cpp +0 -136
  90. package/rust/lib.hpp +0 -69
  91. package/rust/lib.rs +0 -610
  92. package/swift/Index+Sugar.swift +0 -153
  93. package/swift/README.md +0 -48
  94. package/swift/Test.swift +0 -37
  95. package/swift/USearch.swift +0 -8
  96. package/wasm/CMakeLists.txt +0 -7
  97. package/wasm/README.md +0 -13
  98. package/wasm/lib.cpp +0 -5
  99. package/wolfram/CMakeLists.txt +0 -18
  100. package/wolfram/README.md +0 -13
  101. package/wolfram/lib.cpp +0 -160
  102. package/wolfram/test.wls +0 -27
package/setup.py CHANGED
@@ -5,19 +5,49 @@ from setuptools import setup
5
5
 
6
6
  from pybind11.setup_helpers import Pybind11Extension
7
7
 
8
-
9
8
  compile_args = []
10
9
  link_args = []
11
10
  macros_args = []
12
11
 
13
- def is_gcc():
12
+
13
+ def get_bool_env(name: str, preference: bool) -> bool:
14
+ return os.environ.get(name, "1" if preference else "0") == "1"
15
+
16
+
17
+ def get_bool_env_w_name(name: str, preference: bool) -> bool:
18
+ return name, get_bool_env(name, preference)
19
+
20
+
21
+ def get_is_gcc():
14
22
  try:
15
- compiler_version = subprocess.check_output(["c++", "--version"], universal_newlines=True)
23
+ compiler_version = subprocess.check_output(
24
+ ["c++", "--version"], universal_newlines=True
25
+ )
16
26
  return "gcc" in compiler_version.lower()
17
27
  except Exception:
18
28
  return False
19
29
 
20
- if sys.platform == "linux":
30
+
31
+ # Check the environment variables
32
+ is_linux: bool = sys.platform == "linux"
33
+ is_macos: bool = sys.platform == "darwin"
34
+ is_windows: bool = sys.platform == "win32"
35
+
36
+ prefer_simsimd: bool = is_linux or is_macos
37
+ prefer_fp16lib: bool = True
38
+ prefer_openmp: bool = is_linux and get_is_gcc()
39
+
40
+ use_simsimd: bool = get_bool_env("USEARCH_USE_SIMSIMD", prefer_simsimd)
41
+ use_fp16lib: bool = get_bool_env("USEARCH_USE_FP16LIB", prefer_fp16lib)
42
+ use_openmp: bool = get_bool_env("USEARCH_USE_OPENMP", prefer_openmp)
43
+
44
+
45
+ # Common arguments for all platforms
46
+ macros_args.append(("USEARCH_USE_OPENMP", "1" if use_openmp else "0"))
47
+ macros_args.append(("USEARCH_USE_SIMSIMD", "1" if use_simsimd else "0"))
48
+ macros_args.append(("USEARCH_USE_FP16LIB", "1" if use_fp16lib else "0"))
49
+
50
+ if is_linux:
21
51
  compile_args.append("-std=c++17")
22
52
  compile_args.append("-O3") # Maximize performance
23
53
  compile_args.append("-ffast-math") # Maximize floating-point performance
@@ -27,17 +57,21 @@ if sys.platform == "linux":
27
57
  # Simplify debugging, but the normal `-g` may make builds much longer!
28
58
  compile_args.append("-g1")
29
59
 
30
- macros_args.append(("USEARCH_USE_NATIVE_F16", "0"))
31
- macros_args.append(("USEARCH_USE_SIMSIMD", "1"))
32
-
33
- if is_gcc():
34
- macros_args.append(("USEARCH_USE_OPENMP", "1"))
60
+ if use_openmp:
35
61
  compile_args.append("-fopenmp")
36
62
  link_args.append("-lgomp")
37
- else:
38
- macros_args.append(("USEARCH_USE_OPENMP", "0"))
39
63
 
40
- if sys.platform == "darwin":
64
+ if use_simsimd:
65
+ macros_args.extend(
66
+ [
67
+ get_bool_env_w_name("SIMSIMD_TARGET_X86_AVX512", True),
68
+ get_bool_env_w_name("SIMSIMD_TARGET_ARM_SVE", True),
69
+ get_bool_env_w_name("SIMSIMD_TARGET_X86_AVX2", True),
70
+ get_bool_env_w_name("SIMSIMD_TARGET_ARM_NEON", True),
71
+ ]
72
+ )
73
+
74
+ if is_macos:
41
75
  # MacOS 10.15 or higher is needed for `aligned_alloc` support.
42
76
  # https://github.com/unum-cloud/usearch/actions/runs/4975434891/jobs/8902603392
43
77
  compile_args.append("-mmacosx-version-min=10.15")
@@ -61,12 +95,34 @@ if sys.platform == "darwin":
61
95
  # link_args.append("-lomp")
62
96
  # macros_args.append(("USEARCH_USE_OPENMP", "1"))
63
97
 
64
- if sys.platform == "win32":
98
+ if use_simsimd:
99
+ macros_args.extend(
100
+ [
101
+ get_bool_env_w_name("SIMSIMD_TARGET_X86_AVX512", False),
102
+ get_bool_env_w_name("SIMSIMD_TARGET_ARM_SVE", False),
103
+ get_bool_env_w_name("SIMSIMD_TARGET_X86_AVX2", True),
104
+ get_bool_env_w_name("SIMSIMD_TARGET_ARM_NEON", True),
105
+ ]
106
+ )
107
+
108
+ if is_windows:
65
109
  compile_args.append("/std:c++17")
66
110
  compile_args.append("/O2")
67
111
  compile_args.append("/fp:fast") # Enable fast math for MSVC
68
112
  compile_args.append("/W1") # Reduce warnings verbosity
69
113
 
114
+ # We don't actually want to use any SimSIMD stuff,
115
+ # as GCC attributes aren't compatible with MSVC
116
+ if use_simsimd:
117
+ macros_args.extend(
118
+ [
119
+ get_bool_env_w_name("SIMSIMD_TARGET_X86_AVX512", False),
120
+ get_bool_env_w_name("SIMSIMD_TARGET_ARM_SVE", False),
121
+ get_bool_env_w_name("SIMSIMD_TARGET_X86_AVX2", False),
122
+ get_bool_env_w_name("SIMSIMD_TARGET_ARM_NEON", False),
123
+ ]
124
+ )
125
+
70
126
  ext_modules = [
71
127
  Pybind11Extension(
72
128
  "usearch.compiled",
@@ -80,11 +136,16 @@ ext_modules = [
80
136
  __version__ = open("VERSION", "r").read().strip()
81
137
  __lib_name__ = "usearch"
82
138
 
83
-
84
139
  this_directory = os.path.abspath(os.path.dirname(__file__))
85
140
  with open(os.path.join(this_directory, "README.md")) as f:
86
141
  long_description = f.read()
87
142
 
143
+ # Depending on the macros, adjust the include directories
144
+ include_dirs = ["include"]
145
+ if use_simsimd:
146
+ include_dirs.append("simsimd/include")
147
+ if use_fp16lib:
148
+ include_dirs.append("fp16/include")
88
149
 
89
150
  setup(
90
151
  name=__lib_name__,
@@ -118,7 +179,7 @@ setup(
118
179
  "Topic :: Database :: Database Engines/Servers",
119
180
  "Topic :: Scientific/Engineering :: Artificial Intelligence",
120
181
  ],
121
- include_dirs=["include", "fp16/include", "simsimd/include"],
182
+ include_dirs=include_dirs,
122
183
  ext_modules=ext_modules,
123
184
  install_requires=[
124
185
  "numpy",
package/wasmer.toml CHANGED
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name="unum/usearch"
3
- version="2.8.6"
3
+ version="2.8.8"
4
4
  description="Smaller & Faster Single-File Vector Search Engine from Unum"
5
5
  license="Apache-2.0"
6
6
  readme="README.md"
package/. npmignore DELETED
@@ -1,14 +0,0 @@
1
- node_modules/
2
- .vscode/
3
- build/
4
- csharp/
5
- golang/
6
- java/
7
- objc/
8
- rust/
9
- swift/
10
- wolfram/
11
- python/
12
- docs/
13
- wasm/
14
- Package.swift
package/.gitignore DELETED
@@ -1,95 +0,0 @@
1
- # Ignore all files without an extension
2
- *
3
- !/**/
4
- !*.*
5
-
6
- # Temporary files
7
- .DS_Store
8
- *.fbin
9
- *.ibin
10
- datasets
11
- bin
12
- *.usearch
13
- .cache
14
-
15
- # C++ builds
16
- build
17
- build_release
18
- build_debug
19
- build_artifacts
20
- _deps
21
- CMakeCache.txt
22
- CMakeFiles
23
- cmake_install.cmake
24
-
25
- # Profiling with GProf and `perf` on Linux
26
- gmon.out
27
- perf.data
28
-
29
- # Python wrappers
30
- __pycache__
31
- *.egg-info
32
- dist/
33
- wheelhouse/
34
-
35
- # Python Environments
36
- venv/
37
-
38
- # JS wrappers
39
- package-lock.json
40
- node_modules/
41
-
42
- # Rust builds
43
- Cargo.lock
44
- target/
45
-
46
- # Java bindings
47
- .gradle
48
- *.class
49
-
50
- # ObjC and Swift
51
- .build
52
- .swiftpm
53
-
54
- # C# builds
55
- csharp/**/[Bb]in/
56
- csharp/**/[Oo]bj/
57
- csharp/lib
58
- csharp/packages
59
-
60
- # Prerequisites
61
- *.d
62
-
63
- # Compiled Object files
64
- *.slo
65
- *.lo
66
- *.o
67
- *.obj
68
-
69
- # Precompiled Headers
70
- *.gch
71
- *.pch
72
-
73
- # Compiled Dynamic libraries
74
- *.so
75
- *.dylib
76
- *.dll
77
-
78
- # Fortran module files
79
- *.mod
80
- *.smod
81
-
82
- # Allow golang go.mod
83
- !go.mod
84
-
85
- # Compiled Static libraries
86
- *.lai
87
- *.la
88
- *.a
89
- *.lib
90
-
91
- # Executables
92
- *.exe
93
- *.out
94
- *.app
95
-
@@ -1,181 +0,0 @@
1
- {
2
- "version": "0.2.0",
3
- "configurations": [
4
- {
5
- "name": "Unit Test C++",
6
- "type": "cppdbg",
7
- "request": "launch",
8
- "program": "${workspaceFolder}/build_debug/test_cpp",
9
- "cwd": "${workspaceFolder}",
10
- "environment": [
11
- {
12
- "name": "ASAN_OPTIONS",
13
- "value": "detect_leaks=0:atexit=1:strict_init_order=1:strict_string_checks=1:abort_on_error=0"
14
- },
15
- {
16
- "name": "LSAN_OPTIONS",
17
- "value": "verbosity=1:log_threads=1"
18
- }
19
- ],
20
- "stopAtEntry": false,
21
- "linux": {
22
- "preLaunchTask": "Linux Build Debug",
23
- "MIMode": "gdb"
24
- },
25
- "osx": {
26
- "preLaunchTask": "MacOS Build Debug",
27
- "MIMode": "lldb"
28
- },
29
- "windows": {
30
- "preLaunchTask": "Windows Build Debug",
31
- "type": "cppvsdbg",
32
- "program": "${workspaceFolder}/build_debug/test_cpp.exe"
33
- }
34
- },
35
- {
36
- "name": "Unit Test C",
37
- "type": "cppdbg",
38
- "request": "launch",
39
- "program": "${workspaceFolder}/build_debug/test_c",
40
- "cwd": "${workspaceFolder}",
41
- "environment": [
42
- {
43
- "name": "ASAN_OPTIONS",
44
- "value": "detect_leaks=0:atexit=1:strict_init_order=1:strict_string_checks=1:abort_on_error=0"
45
- },
46
- {
47
- "name": "LSAN_OPTIONS",
48
- "value": "verbosity=1:log_threads=1"
49
- }
50
- ],
51
- "stopAtEntry": false,
52
- "linux": {
53
- "preLaunchTask": "Linux Build Debug",
54
- "MIMode": "gdb"
55
- },
56
- "osx": {
57
- "preLaunchTask": "MacOS Build Debug",
58
- "MIMode": "lldb"
59
- },
60
- "windows": {
61
- "preLaunchTask": "Windows Build Debug",
62
- "type": "cppvsdbg",
63
- "program": "${workspaceFolder}/build_debug/test_c.exe"
64
- }
65
- },
66
- {
67
- "name": "Debug C++ on Wiki 1M @Cos",
68
- "type": "cppdbg",
69
- "request": "launch",
70
- "program": "${workspaceFolder}/build_debug/bench_cpp",
71
- "cwd": "${workspaceFolder}",
72
- "args": [
73
- "--vectors",
74
- "datasets/wiki_1M/base.1M.fbin",
75
- "--queries",
76
- "datasets/wiki_1M/query.public.100K.fbin",
77
- "--neighbors",
78
- "datasets/wiki_1M/groundtruth.public.100K.ibin",
79
- "--ip"
80
- ],
81
- "environment": [
82
- {
83
- "name": "ASAN_OPTIONS",
84
- "value": "detect_leaks=0:atexit=1:strict_init_order=1:strict_string_checks=1"
85
- }
86
- ],
87
- "stopAtEntry": false,
88
- "linux": {
89
- "preLaunchTask": "Linux Build Debug",
90
- "MIMode": "gdb",
91
- "environment": [
92
- {
93
- "name": "MALLOC_CHECK_",
94
- "value": "2"
95
- }
96
- ]
97
- },
98
- "osx": {
99
- "preLaunchTask": "MacOS Build Debug",
100
- "MIMode": "lldb"
101
- }
102
- },
103
- {
104
- "name": "Debug C++ on Text-to-Image 1B @Cos",
105
- "type": "cppdbg",
106
- "request": "launch",
107
- "program": "${workspaceFolder}/build_debug/bench_cpp",
108
- "cwd": "${workspaceFolder}",
109
- "args": [
110
- "--vectors",
111
- "datasets/t2i_1B/base.1B.fbin",
112
- "--queries",
113
- "datasets/t2i_1B/query.public.100K.fbin",
114
- "--neighbors",
115
- "datasets/t2i_1B/groundtruth.public.100K.ibin",
116
- "--cos"
117
- ],
118
- "environment": [
119
- {
120
- "name": "ASAN_OPTIONS",
121
- "value": "detect_leaks=0:atexit=1:strict_init_order=1:strict_string_checks=1"
122
- }
123
- ],
124
- "stopAtEntry": false,
125
- "linux": {
126
- "preLaunchTask": "Linux Build Debug",
127
- "MIMode": "gdb"
128
- },
129
- "osx": {
130
- "preLaunchTask": "MacOS Build Debug",
131
- "MIMode": "lldb"
132
- }
133
- },
134
- {
135
- "name": "Run C++ on Text-to-Image 1M @Cos",
136
- "type": "cppdbg",
137
- "request": "launch",
138
- "program": "${workspaceFolder}/build_release/bench_cpp",
139
- "cwd": "${workspaceFolder}",
140
- "args": [
141
- "--vectors",
142
- "datasets/t2i_1M/base.1M.fbin",
143
- "--queries",
144
- "datasets/t2i_1M/query.public.100K.fbin",
145
- "--neighbors",
146
- "datasets/t2i_1M/groundtruth.public.100K.ibin",
147
- ],
148
- "stopAtEntry": false,
149
- "preLaunchTask": "Linux Build Release",
150
- "MIMode": "gdb"
151
- },
152
- {
153
- "name": "Debug PyTest",
154
- "type": "python",
155
- "request": "launch",
156
- "module": "pytest",
157
- "console": "internalConsole",
158
- "args": [
159
- "${file}"
160
- ],
161
- "justMyCode": true
162
- },
163
- {
164
- "name": "Debug Python Benchmark",
165
- "type": "python",
166
- "request": "launch",
167
- "program": "python/scripts/bench.py",
168
- "console": "internalConsole",
169
- "args": [
170
- "speed",
171
- "--vectors",
172
- "datasets/wiki_1M/base.1M.fbin",
173
- "--queries",
174
- "datasets/wiki_1M/query.public.100K.fbin",
175
- "--neighbors",
176
- "datasets/wiki_1M/groundtruth.public.100K.ibin",
177
- ],
178
- "justMyCode": true
179
- }
180
- ]
181
- }
@@ -1,180 +0,0 @@
1
- {
2
- "files.associations": {
3
- "array": "cpp",
4
- "atomic": "cpp",
5
- "hash_map": "cpp",
6
- "hash_set": "cpp",
7
- "barrier": "cpp",
8
- "bit": "cpp",
9
- "*.tcc": "cpp",
10
- "bitset": "cpp",
11
- "cctype": "cpp",
12
- "chrono": "cpp",
13
- "cinttypes": "cpp",
14
- "clocale": "cpp",
15
- "cmath": "cpp",
16
- "codecvt": "cpp",
17
- "compare": "cpp",
18
- "complex": "cpp",
19
- "concepts": "cpp",
20
- "condition_variable": "cpp",
21
- "csignal": "cpp",
22
- "cstdarg": "cpp",
23
- "cstddef": "cpp",
24
- "cstdint": "cpp",
25
- "cstdio": "cpp",
26
- "cstdlib": "cpp",
27
- "cstring": "cpp",
28
- "ctime": "cpp",
29
- "cwchar": "cpp",
30
- "cwctype": "cpp",
31
- "deque": "cpp",
32
- "forward_list": "cpp",
33
- "list": "cpp",
34
- "map": "cpp",
35
- "set": "cpp",
36
- "string": "cpp",
37
- "unordered_map": "cpp",
38
- "unordered_set": "cpp",
39
- "vector": "cpp",
40
- "exception": "cpp",
41
- "algorithm": "cpp",
42
- "functional": "cpp",
43
- "iterator": "cpp",
44
- "memory": "cpp",
45
- "memory_resource": "cpp",
46
- "numeric": "cpp",
47
- "optional": "cpp",
48
- "random": "cpp",
49
- "ratio": "cpp",
50
- "regex": "cpp",
51
- "string_view": "cpp",
52
- "system_error": "cpp",
53
- "tuple": "cpp",
54
- "type_traits": "cpp",
55
- "utility": "cpp",
56
- "fstream": "cpp",
57
- "initializer_list": "cpp",
58
- "iomanip": "cpp",
59
- "iosfwd": "cpp",
60
- "iostream": "cpp",
61
- "istream": "cpp",
62
- "limits": "cpp",
63
- "mutex": "cpp",
64
- "new": "cpp",
65
- "numbers": "cpp",
66
- "ostream": "cpp",
67
- "semaphore": "cpp",
68
- "sstream": "cpp",
69
- "stdexcept": "cpp",
70
- "stop_token": "cpp",
71
- "streambuf": "cpp",
72
- "thread": "cpp",
73
- "typeindex": "cpp",
74
- "typeinfo": "cpp",
75
- "valarray": "cpp",
76
- "variant": "cpp",
77
- "__bit_reference": "cpp",
78
- "__bits": "cpp",
79
- "__config": "cpp",
80
- "__debug": "cpp",
81
- "__errc": "cpp",
82
- "__hash_table": "cpp",
83
- "__locale": "cpp",
84
- "__mutex_base": "cpp",
85
- "__node_handle": "cpp",
86
- "__nullptr": "cpp",
87
- "__split_buffer": "cpp",
88
- "__string": "cpp",
89
- "__threading_support": "cpp",
90
- "__tree": "cpp",
91
- "__tuple": "cpp",
92
- "any": "cpp",
93
- "ios": "cpp",
94
- "locale": "cpp",
95
- "queue": "cpp",
96
- "stack": "cpp",
97
- "__memory": "cpp",
98
- "filesystem": "cpp",
99
- "__availability": "cpp",
100
- "version": "cpp",
101
- "future": "cpp",
102
- "__verbose_abort": "cpp",
103
- "shared_mutex": "cpp",
104
- "ranges": "cpp",
105
- "span": "cpp",
106
- "format": "cpp",
107
- "charconv": "cpp"
108
- },
109
- "cSpell.words": [
110
- "allclose",
111
- "arange",
112
- "astype",
113
- "Availible",
114
- "bidict",
115
- "BLAS",
116
- "Cdecl",
117
- "cflags",
118
- "cibuildwheel",
119
- "citerator",
120
- "downcasted",
121
- "Downcasting",
122
- "dtype",
123
- "DUSEARCH",
124
- "emcmake",
125
- "equi",
126
- "equidimensional",
127
- "FAISS",
128
- "fbin",
129
- "groundtruth",
130
- "hashable",
131
- "HNSW",
132
- "hnswlib",
133
- "ibin",
134
- "jaccard",
135
- "libusearch",
136
- "linalg",
137
- "longlong",
138
- "memmap",
139
- "Napi",
140
- "ndarray",
141
- "ndim",
142
- "Numba",
143
- "numpy",
144
- "OPENMP",
145
- "preprocess",
146
- "Println",
147
- "pytest",
148
- "Quickstart",
149
- "rtype",
150
- "SIMD",
151
- "simsimd",
152
- "SLOC",
153
- "Sonatype",
154
- "sorensen",
155
- "Struct",
156
- "tanimoto",
157
- "tqdm",
158
- "uninitialize",
159
- "unumusearch",
160
- "usearch",
161
- "usecases",
162
- "Vardanian",
163
- "vectorize",
164
- "Xunit"
165
- ],
166
- "autoDocstring.docstringFormat": "sphinx",
167
- "java.configuration.updateBuildConfiguration": "interactive",
168
- "python.testing.pytestArgs": ["python"],
169
- "python.analysis.diagnosticSeverityOverrides": {
170
- "reportMissingImports": "none"
171
- },
172
- "python.testing.unittestEnabled": false,
173
- "python.testing.pytestEnabled": true,
174
- "[go]": {
175
- "editor.insertSpaces": true,
176
- "editor.formatOnSave": true,
177
- "editor.defaultFormatter": "golang.go"
178
- },
179
- "dotnet.defaultSolution": "csharp/Cloud.Unum.USearch.sln"
180
- }
@@ -1,71 +0,0 @@
1
- {
2
- "version": "2.0.0",
3
- "tasks": [
4
- {
5
- "label": "Linux Build Debug",
6
- "command": "cmake -DCMAKE_CXX_COMPILER=gcc-12 -DCMAKE_CXX_COMPILER=g++-12 -DUSEARCH_BUILD_LIB_C=1 -DUSEARCH_BUILD_TEST_C=1 -DCMAKE_BUILD_TYPE=Debug -B ./build_debug && cmake --build ./build_debug --config Debug",
7
- "args": [],
8
- "type": "shell",
9
- "problemMatcher": [
10
- "$gcc"
11
- ]
12
- },
13
- {
14
- "label": "Linux Build Release",
15
- "command": "cmake -DCMAKE_CXX_COMPILER=gcc-12 -DCMAKE_CXX_COMPILER=g++-12 -DUSEARCH_BUILD_LIB_C=1 -DUSEARCH_BUILD_TEST_C=1 -DCMAKE_BUILD_TYPE=Release -B ./build_release && cmake --build ./build_release --config RelWithDebInfo",
16
- "args": [],
17
- "type": "shell",
18
- "problemMatcher": [
19
- "$gcc"
20
- ]
21
- },
22
- {
23
- "label": "MacOS Build Debug",
24
- "command": "cmake -DCMAKE_C_COMPILER=/opt/homebrew/opt/llvm/bin/clang -DCMAKE_CXX_COMPILER=/opt/homebrew/opt/llvm/bin/clang++ -DUSEARCH_BUILD_LIB_C=1 -DUSEARCH_BUILD_TEST_C=1 -DCMAKE_BUILD_TYPE=Debug -B ./build_debug && cmake --build ./build_debug --config Debug",
25
- "args": [],
26
- "type": "shell",
27
- },
28
- {
29
- "label": "MacOS Build Release",
30
- "command": "cmake -DCMAKE_C_COMPILER=/opt/homebrew/opt/llvm/bin/clang -DCMAKE_CXX_COMPILER=/opt/homebrew/opt/llvm/bin/clang++ -DUSEARCH_BUILD_LIB_C=1 -DUSEARCH_BUILD_TEST_C=1 -DCMAKE_BUILD_TYPE=Release -B ./build_release && cmake --build ./build_release --config RelWithDebInfo",
31
- "args": [],
32
- "type": "shell"
33
- },
34
- {
35
- "label": "Windows Build Debug",
36
- "command": "cmake -DUSEARCH_BUILD_LIB_C=1 -DUSEARCH_BUILD_TEST_C=1 -DCMAKE_BUILD_TYPE=Debug -B ./build_debug && cmake --build ./build_debug --config Debug",
37
- "args": [],
38
- "type": "shell",
39
- "problemMatcher": [
40
- "$msCompile"
41
- ],
42
- "options": {
43
- "shell": {
44
- "executable": "cmd.exe",
45
- "args": [
46
- "/d",
47
- "/c"
48
- ]
49
- }
50
- }
51
- },
52
- {
53
- "label": "Windows Build Release",
54
- "command": "cmake -DUSEARCH_BUILD_LIB_C=1 -DUSEARCH_BUILD_TEST_C=1 -DCMAKE_BUILD_TYPE=Release -B ./build_release && cmake --build ./build_release --config RelWithDebInfo",
55
- "args": [],
56
- "type": "shell",
57
- "problemMatcher": [
58
- "$msCompile"
59
- ],
60
- "options": {
61
- "shell": {
62
- "executable": "cmd.exe",
63
- "args": [
64
- "/d",
65
- "/c"
66
- ]
67
- }
68
- }
69
- }
70
- ]
71
- }