generic_levenshtein 0.2.1

Generic and fast implementation of the Levenshtein distance
Documentation
# README #

[![Docs](https://docs.rs/generic_levenshtein/badge.svg)](https://docs.rs/generic_levenshtein/)

A   generic    and   fast    implementation   of    the   [Levenshtein
distance](http://en.wikipedia.org/wiki/Levenshtein_distance).

## Generic ##

This crate can work on slices of any kind. It can therefore:

- Compute a distance in characters between two strings:

```rust
assert_eq!(distance ("abc", "aaxcc"), 3);
```

- Compute a distance in words between two strings:

```rust
assert_eq!(
   distance (
      "The quick brown fox".split (' ').collect::<Vec<_>>(),
      "The very quick brown cat".split (' ').collect()),
   2);
```

- Or even compute a distance between two sequences of anything:

```rust
assert_eq!(distance (vec![1, 2, 3], vec![0, 1, 3, 3, 4]), 3);
```

### Fast ###

At the time  of writing, this crate is among  the fastest on crates.io
when working with text:

|                                                              | Identical | Same length | Different lengths |
|:-------------------------------------------------------------|----------:|------------:|------------------:|
| generic_levenshtein                                          |     **2** |     3_316   |           3_842   |
| [levenshtein]https://crates.io/crates/levenshtein v1.0.4   |     **2** |     3_461   |           3_960   |
| [strsim]https://crates.io/crates/strsim v0.11.1            |   2_450   |     2_279   |           2_928   |
| [distance]https://crates.io/crates/distance v0.4.0         |   5_688   |     5_691   |           5_831   |
| [eddie]https://crates.io/crates/eddie v0.4.2               |      61   |   **1_650** |         **2_531** |
| [txtdist]https://crates.io/crates/txtdist v0.2.1           |   4_263   |     4_240   |           4_963   |
| [fuzzy-search]https://crates.io/crates/fuzzy-search v0.1.1 |   5_879   |     5_761   |           6_532   |

All times in `ns` on an `AMD Ryzen 7 9700X @ 3.8GHz`.