Initial import

This commit is contained in:
Andreas Rumpf 2008-06-22 16:14:11 +02:00
commit 405b86068e
324 changed files with 163599 additions and 0 deletions

29
tests/tstrdist.nim Executable file
View file

@ -0,0 +1,29 @@
# compute the edit distance between two strings
import
io
proc editDistance(a, b: string): int =
var c: seq[int] = []
var
n = a.len
m = b.len
setLength(c, (n+1)*(m+1))
for i in 0..n:
c[i*n] = i # [i,0]
for j in 0..m:
c[j] = j # [0,j]
for i in 1..n:
for j in 1..m:
var x = c[(i-1)*n + j]+1
var y = c[i*n + j-1]+1
var z: int
if a[i-1] == b[j-1]:
z = c[(i-1)*n + j-1]
else:
z = c[(i-1)*n + j-1]+1
c[(i-1)*n + (j-1)] = min(x,min(y,z))
return c[n*m]
write(stdout, editDistance("abc", "abd"))