Fast and generic distance functions for high-dimensional data.
Add this to your project:
```shell
cargo add distances@1.0.1 ```
Use it in your project:
```rust use distances::Number; use distances::vectors::euclidean;
let a = [1.0f32, 2.0, 3.0]; let b = [4.0f32, 5.0, 6.0];
let distance: f32 = euclidean(&a, &b);
assert!((distance - (27.0_f32).sqrt()).abs() < 1e-6); ```
Number
trait to abstract over different numeric types.
Number
.Number
s.maturin
and pyo3
.no_std
support.euclidean
squared_euclidean
manhattan
chebyshev
minkowski
minkowski_p
cosine
hamming
canberra
bray_curtis
pearson
1.0 - r
where r
is the Pearson Correlation Coefficientwasserstein
bhattacharyya
hellinger
levenshtein
needleman_wunsch
smith_waterman
hamming
jaccard
hausdorff
tanamoto
dtw
msm
erp
Contributions are welcome, encouraged, and appreciated! See CONTRIBUTING.md.
Licensed under the MIT license.