usearch 2.0.1 → 2.0.2
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/Cargo.toml +1 -1
- package/README.md +3 -0
- package/conanfile.py +1 -1
- package/csharp/README.md +5 -8
- package/docs/csharp/index.rst +6 -0
- package/docs/index.rst +1 -0
- package/include/usearch/index.hpp +6 -2
- package/package.json +1 -1
- package/wasmer.toml +1 -1
package/Cargo.toml
CHANGED
package/README.md
CHANGED
|
@@ -28,6 +28,7 @@ Euclidean • Angular • Bitwise • Haversine • User-Defined Metrics
|
|
|
28
28
|
<a href="https://unum-cloud.github.io/usearch/c">C 99</a> •
|
|
29
29
|
<a href="https://unum-cloud.github.io/usearch/objective-c">Objective-C</a> •
|
|
30
30
|
<a href="https://unum-cloud.github.io/usearch/swift">Swift</a> •
|
|
31
|
+
<a href="https://unum-cloud.github.io/usearch/csharp">C#</a> •
|
|
31
32
|
<a href="https://unum-cloud.github.io/usearch/golang">GoLang</a> •
|
|
32
33
|
<a href="https://unum-cloud.github.io/usearch/wolfram">Wolfram</a>
|
|
33
34
|
<br/>
|
|
@@ -38,6 +39,8 @@ Linux • MacOS • Windows • iOS • Docker • WebAssembly
|
|
|
38
39
|
<a href="https://pypi.org/project/usearch/"> <img alt="PyPI - Downloads" src="https://img.shields.io/pypi/dm/usearch?label=pypi%20downloads"> </a>
|
|
39
40
|
<a href="https://www.npmjs.com/package/usearch"> <img alt="npm" src="https://img.shields.io/npm/dy/usearch?label=npm%20dowloads"> </a>
|
|
40
41
|
<a href="https://crates.io/crates/usearch"> <img alt="Crates.io" src="https://img.shields.io/crates/d/usearch?label=crate%20downloads"> </a>
|
|
42
|
+
<a href="https://www.nuget.org/packages/Cloud.Unum.USearch"> <img alt="Nuget" src="https://img.shields.io/nuget/dt/Cloud.Unum.USearch?style=social&label=NuGet"> </a>
|
|
43
|
+
<a href="https://hub.docker.com/r/unum/usearch"> <img alt="Docker Pulls" src="https://img.shields.io/docker/pulls/unum/usearch?style=social&label=Docker"> </a>
|
|
41
44
|
<img alt="GitHub code size in bytes" src="https://img.shields.io/github/languages/code-size/unum-cloud/usearch">
|
|
42
45
|
</div>
|
|
43
46
|
|
package/conanfile.py
CHANGED
|
@@ -4,7 +4,7 @@ from conans import ConanFile
|
|
|
4
4
|
class USearchConan(ConanFile):
|
|
5
5
|
|
|
6
6
|
name = 'USearch'
|
|
7
|
-
version = '2.0.
|
|
7
|
+
version = '2.0.2'
|
|
8
8
|
license = 'Apache 2.0'
|
|
9
9
|
url = 'https://github.com/unum-cloud/usearch'
|
|
10
10
|
description = 'Smaller & Faster Single-File Vector Search Engine from Unum'
|
package/csharp/README.md
CHANGED
|
@@ -3,17 +3,17 @@
|
|
|
3
3
|
## Installation
|
|
4
4
|
|
|
5
5
|
```sh
|
|
6
|
-
dotnet add package Cloud.Unum.USearch
|
|
6
|
+
dotnet add package Cloud.Unum.USearch
|
|
7
7
|
```
|
|
8
8
|
|
|
9
9
|
## Quickstart
|
|
10
10
|
|
|
11
|
-
```
|
|
11
|
+
```csharp
|
|
12
12
|
using System.Diagnostics;
|
|
13
13
|
using Cloud.Unum.USearch;
|
|
14
14
|
|
|
15
15
|
using var index = new USearchIndex(
|
|
16
|
-
metricKind: MetricKind.Cos, //Choose cosine metric
|
|
16
|
+
metricKind: MetricKind.Cos, // Choose cosine metric
|
|
17
17
|
quantization: ScalarKind.Float32, // Only quantization to Float32, Float64 is currently supported
|
|
18
18
|
dimensions: 3, // Define the number of dimensions in input vectors
|
|
19
19
|
connectivity: 16, // How frequent should the connections in the graph be, optional
|
|
@@ -29,14 +29,11 @@ Trace.Assert(index.Size() == 1);
|
|
|
29
29
|
Trace.Assert(matches == 1);
|
|
30
30
|
Trace.Assert(keys[0] == 42);
|
|
31
31
|
Trace.Assert(distances[0] <= 0.001f);
|
|
32
|
-
// USearchIndex obj created with "using statement" and implements IDisposable,
|
|
33
|
-
// otherwise call it explicitly:
|
|
34
|
-
// index.Dispose();
|
|
35
32
|
```
|
|
36
33
|
|
|
37
34
|
## Serialization
|
|
38
35
|
|
|
39
|
-
```
|
|
36
|
+
```csharp
|
|
40
37
|
index.Save("index.usearch")
|
|
41
38
|
|
|
42
39
|
// Copy the whole index into memory
|
|
@@ -55,7 +52,7 @@ Trace.Assert(indexLoaded.Contains(42));
|
|
|
55
52
|
|
|
56
53
|
Adding a batch of entries is identical to adding a single vector.
|
|
57
54
|
|
|
58
|
-
```
|
|
55
|
+
```csharp
|
|
59
56
|
using var index = new USearchIndex(MetricKind.Cos, ScalarKind.Float32, dimensions: 3);
|
|
60
57
|
|
|
61
58
|
// Generate keys and random vectors
|
package/docs/index.rst
CHANGED
|
@@ -409,7 +409,10 @@ template <typename allocator_at = std::allocator<byte_t>> class bitset_gt {
|
|
|
409
409
|
~bitset_gt() noexcept { reset(); }
|
|
410
410
|
|
|
411
411
|
explicit operator bool() const noexcept { return slots_; }
|
|
412
|
-
void clear() noexcept {
|
|
412
|
+
void clear() noexcept {
|
|
413
|
+
if (slots_)
|
|
414
|
+
std::memset(slots_, 0, count_ * sizeof(compressed_slot_t));
|
|
415
|
+
}
|
|
413
416
|
|
|
414
417
|
void reset() noexcept {
|
|
415
418
|
if (slots_)
|
|
@@ -857,7 +860,8 @@ class growing_hash_set_gt {
|
|
|
857
860
|
std::size_t size() const noexcept { return count_; }
|
|
858
861
|
|
|
859
862
|
void clear() noexcept {
|
|
860
|
-
|
|
863
|
+
if (slots_)
|
|
864
|
+
std::memset((void*)slots_, 0xFF, capacity_ * sizeof(element_t));
|
|
861
865
|
count_ = 0;
|
|
862
866
|
}
|
|
863
867
|
|
package/package.json
CHANGED