alias LevDist { var %s = $1, %t = $2, %m = $len(%s), %n = $len(%t) var %i = 0 while (%x <= %m) { var $+(%,%i,.,0) = %i inc %i } var %j = 1 while (%j <= %n) { var $+(%,0,.,%j) = %j inc %j } var %i = 1 while (%i <= %m) { var %j = 1 while (%j <= %n) { if ($mid(%s,%i,1) == $mid(%t,%j,1)) var %cost = 0 else %cost = 1 var $+(%,%i,.,%j) = $gettok($sorttok($calc($($+(%,$calc(%i - 1),.,%j),2) + 1) $calc($($+(%,%i,.,$calc(%j - 1)),2) + 1) $calc($($+(%,$calc(%i - 1),.,$calc(%j - 1)),2) + %cost),32,n),1,32) inc %j } inc %i } return $($+(%,%m,.,%n),2) }