This module implements an algorithm to compute the edit distance between two Unicode strings.
Imports
Procs
proc editDistance(a, b: string): int {.noSideEffect, ...raises: [], tags: [],
forbids: [].}
Returns the unicode-rune edit distance between a and b.
This uses the Levenshtein distance algorithm with only a linear memory overhead.
Example:
static: doAssert editdistance("Kitten", "Bitten") == 1
proc editDistanceAscii(a, b: string): int {.noSideEffect, ...raises: [], tags: [],
forbids: [].}
Returns the edit distance between a and b.
This uses the Levenshtein distance algorithm with only a linear memory overhead.
Example:
static: doAssert editDistanceAscii("Kitten", "Bitten") == 1