editdistance

This module implements an algorithm to compute the edit distance between two Unicode strings.

Procs

proc editDistance(a, b: string): int {...}{.noSideEffect, raises: [], tags: [].}

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
  Source Edit
proc editDistanceAscii(a, b: string): int {...}{.noSideEffect, raises: [], tags: [].}

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
  Source Edit