README.md

# Simetric [![Build Status](https://travis-ci.org/lexmag/simetric.svg)](https://travis-ci.org/lexmag/simetric)

Simetric provides facilities to perform approximate string matching and measurement of string similarity/distance.
The library is focusing on speed and completeness.

### Metrics

* [Jaro](http://en.wikipedia.org/wiki/Jaro-Winkler_distance)
* [Jaro–Winkler](http://en.wikipedia.org/wiki/Jaro-Winkler_distance)
* [Levenshtein](http://en.wikipedia.org/wiki/Levenshtein_distance)

## Installation

Add Simetric as a dependency to your `mix.exs` file:

```elixir
defp deps do
  [{:simetric, "~> 0.1.0"}]
end
```

After you are done, run `mix deps.get` in your shell to fetch the dependencies.

## Usage

__Jaro distance:__
```elixir
Simetric.Jaro.compare("dwayne", "duane") # => 0.8222222222222223
Simetric.Jaro.compare("hardin", "martinez") # => 0.7222222222222222
Simetric.Jaro.compare("even", "odd") # => 0.0
```

__Jaro–Winkler distance:__
```elixir
Simetric.Jaro.Winkler.compare("dwayne", "duane") # => 0.8400000000000001
Simetric.Jaro.Winkler.compare("hardin", "martinez") # => 0.7222222222222222
Simetric.Jaro.Winkler.compare("same", "same") # => 1.0
```

__Levenshtein:__
```elixir
Simetric.Levenshtein.compare("gumbo", "gambol") # => 2
Simetric.Levenshtein.compare("kitten", "sitting") # => 3
```

## License

This software is licensed under [the ISC license](LICENSE).