Spatium -- library for comparing distance between sequences.
For example, Levenshtein:
use spatium::edit_based::levenshtein;
// Get default algorithm for calc levenshtein distance.
let alg = levenshtein::Default::default();
let x = [1, 2, 3];
let y = [1, 2, 4];
let distance = alg.distance(&x, &y).unwrap();
assert_eq!(distance, 1.0);
// With normalization (normalized distance = distance / x.len())
let alg = levenshtein::Default::default();
let x = [1, 2, 3];
let y = [1, 2, 4];
let distance = alg.normalized_distance(&x, &y).unwrap();
assert_eq!(distance, 1.0 / 3.0);
// Use obviously algorithm (for example recursive version)
let alg = levenshtein::Recursive::default();
let x = [1, 2, 3];
let y = [1, 2, 4];
let distance = alg.distance(&x, &y).unwrap();
assert_eq!(distance, 1.0);
Spatium is distributed under the terms of both the MIT license and the Apache License (Version 2.0).
See LICENSE-APACHE and LICENSE-MIT for details.