From 6b3bda5ec58ce3a9a20d5fc0fcbc1311906b009d Mon Sep 17 00:00:00 2001 From: Alexander Pickering Date: Mon, 6 Jun 2016 16:42:18 -0400 Subject: Changed declerations so that minfied file is even smaller --- fuzzel_min.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'fuzzel_min.lua') diff --git a/fuzzel_min.lua b/fuzzel_min.lua index 961932d..13edd2a 100644 --- a/fuzzel_min.lua +++ b/fuzzel_min.lua @@ -1 +1 @@ -local a,b,c,d,e,f,g,h,i,j=string.len,string.byte,math.min,assert,pairs,ipairs,type,unpack,table.insert,table.sort;local k={}local function l(m,n,o,p,q,...)local r,s=a(m),a(n)local t={}for u=0,r do t[u]={}for v=0,s do t[u][v]=0 end end;for u=1,r do t[u][0]=u end;for v=1,s do t[0][v]=v end;for v=1,s do for u=1,r do local w=b(m,u)local x=b(n,v)t[u][v]=c(t[u-1][v]+q,t[u][v-1]+o,t[u-1][v-1]+(w==x and 0 or p))if arg[1]and u>1 and v>1 and w==b(n,v-1)and b(m,u-1)==x then t[u][v]=c(t[u][v],t[u-2][v-2]+(w==x and 0 or arg[2]))end end end;return t[r][s]end;function k.LevenshtienDistance_extended(m,n,o,p,q)return k.genericDistance(m,n,o,p,q)end;k.ld_e=k.LevenshtienDistance_extended;function k.LevenshtienDistance(m,n)return k.ld_e(m,n,1,1,1)end;k.ld=k.LevenshtienDistance;function k.LevenshteinRatio(m,n)return k.ld(m,n)/a(m)end;k.lr=k.LevensteinRatio;function k.DamerauLevenshtienDistance_extended(m,n,o,p,q,y)return l(m,n,o,p,q,true,y)end;k.dld_e=k.DamerauLevenshtienDistance_extended;function k.DamerauLevenshtienDistance(m,n)return k.dld_e(m,n,1,1,1,1)end;k.dld=k.DamerauLevenshtienDistance;function k.DamerauLevenshtienRatio(m,n)return k.dld(m,n)/a(m)end;k.dlr=k.DamerauLevenshtienRatio;function k.HammingDistance(m,n)local z=a(m)d(z==a(n),"Hamming Distance cannot be calculated on two strings of different lengths:\""..m.."\" \""..n.."\"")local A=0;for u=1,z do A=A+(b(m,u)~=b(n,u)and 1 or 0)end;return A end;k.hd=k.HammingDistance;function k.HammingRatio(m,n)return k.HammingDistance(m,n)/a(m)end;k.hr=k.HammingRatio;local function B(C,D,...)local E=g(arg[1])=="table"and arg[1]or arg;local F=D(E[1],C)local G=E[1]for H,I in e(E)do local J=D(I,C)if J1 and Q>1 and R==b(I,Q-1)and b(H,P-1)==S then O[P][Q]=c(O[P][Q],O[P-2][Q-2]+(R==S and 0 or arg[2]))end end end;return O[M][N]end;k[u]=function(H,I,J,K,L)return G(H,I,J,K,L)end;k.ld_e=k[u]k[v]=function(H,I)return k.ld_e(H,I,1,1,1)end;k.ld=k[v]k[w]=function(H,I)return k.ld(H,I)/a(H)end;k.lr=k[w]k[x]=function(H,I,J,K,L,T)return G(H,I,J,K,L,true,T)end;k.dld_e=k[x]k[y]=function(H,I)return k.dld_e(H,I,1,1,1,1)end;k.dld=k[y]k[z]=function(H,I)return k.dld(H,I)/a(H)end;k.dlr=k[z]k[E]=function(H,I)local U=a(H)d(U==a(I),"Hamming Distance cannot be calculated on two strings of different lengths:\""..H.."\" \""..I.."\"")local V=0;for P=1,U do V=V+(b(H,P)~=b(I,P)and 1 or 0)end;return V end;k.hd=k[E]k[F]=function(H,I)return k.hd(H,I)/a(H)end;k.hr=k[F]local function W(X,Y,...)local Z=g(arg[1])=="table"and arg[1]or arg;local _=Y(Z[1],X)local a0=Z[1]for a1,a2 in e(Z)do local a3=Y(a2,X)if a3<_ then _=a3;a0=a2 end end;return a0,_ end;k[A]=function(X,...)return h{W(X,k.dld,...)}end;k.ffd=k[A]k[B]=function(X,...)return h{W(X,k.dlr,...)}end;local function a4(X,Y,...)local Z=g(arg[1])=="table"and arg[1]or arg;local a5={}local a6={}for a1,a2 in e(Z)do local V=Y(X,a2)if a5[V]==nil then a5[V]={}i(a6,V)end;i(a5[V],a2)end;j(a6)local a7={}for a1,a2 in f(a6)do for P,Q in e(a5[a2])do i(a7,Q)end end;return a7 end;k.ffr=k[B]k[C]=function(X,...)return a4(X,k.dld,...)end;k.fsd=k[C]k[D]=function(X,...)return a4(X,k.dlr,...)end;k.fsr=k[D]return k -- cgit v1.2.3-70-g09d2