diff options
Diffstat (limited to 'dist')
| -rw-r--r-- | dist/fuzzel_min.lua | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/dist/fuzzel_min.lua b/dist/fuzzel_min.lua index 4916e2d..51f1ffa 100644 --- a/dist/fuzzel_min.lua +++ b/dist/fuzzel_min.lua @@ -1 +1 @@ -local a,b,c,d,e,f,g,h,i,j,k,l,m=string.len,string.byte,math.min,assert,pairs,ipairs,type,unpack,table.insert,table.sort,string.sub,true,false;local n={}local o,p,q,r,s,t,u,v,w,x="Damerau","Levenshtein","Distance","Ratio","Fuzzy","Find","Sort","_extended","Hamming","Autocomplete"local y,z,A,B,C,D,E,F,G,H,I,J,K,L=p..q..v,p..q,p..r,o..p..q..v,o..p..q,o..p..r,s..t..q,s..t..r,s..u..q,s..u..r,w..q,w..r,s..x..q,s..x..r;local function M(N,O,P,Q,R,...)local S={...}local T,U=a(N),a(O)local V={}for W=0,T do V[W]={}for X=0,U do V[W][X]=0 end end;for W=1,T do V[W][0]=W end;for X=1,U do V[0][X]=X end;for X=1,U do for W=1,T do local Y,Z=b(N,W),b(O,X)V[W][X]=c(V[W-1][X]+R,V[W][X-1]+P,V[W-1][X-1]+(Y==Z and 0 or Q))if S[1]and W>1 and X>1 and Y==b(O,X-1)and b(N,W-1)==Z then V[W][X]=c(V[W][X],V[W-2][X-2]+(Y==Z and 0 or S[2]))end end end;return V[T][U]end;n.VERSION="1.4"n[y]=function(N,O,P,Q,R)return M(N,O,P,Q,R)end;n.ld_e=n[y]n[z]=function(N,O)return n.ld_e(N,O,1,1,1)end;n.ld=n[z]n[A]=function(N,O)return n.ld(N,O)/a(N)end;n.lr=n[A]n[B]=function(N,O,P,Q,R,_)return M(N,O,P,Q,R,l,_)end;n.dld_e=n[B]n[C]=function(N,O)return n.dld_e(N,O,1,1,1,1)end;n.dld=n[C]n[D]=function(N,O)return n.dld(N,O)/a(N)end;n.dlr=n[D]n[I]=function(N,O)local a0,a1=a(N),0;d(a0==a(O),w.." "..q.." cannot be calculated on two strings of different lengths:\""..N.."\" \""..O.."\"")for W=1,a0 do a1=a1+(b(N,W)~=b(O,W)and 1 or 0)end;return a1 end;n.hd=n[I]n[J]=function(N,O)return n.hd(N,O)/a(N)end;n.hr=n[J]local function a2(a3,a4,...)local S={...}local a5=g(S[1])=="table"and S[1]or S;local a6,a7=a4(a5[1],a3),a5[1]for a8,a9 in e(a5)do local aa=a4(a9,a3)if aa<=a6 then a6,a7=aa,a8 end end;return a5[a7],a6 end;n[E]=function(a3,...)return h{a2(a3,n.dld,...)}end;n.ffd=n[E]n[F]=function(a3,...)return h{a2(a3,n.dlr,...)}end;n.ffr=n[F]local function ab(a3,a4,ac,...)local S={...}local a5=g(S[1])=="table"and S[1]or S;local ad,ae,af,ag={},{},{},a(a3)for a8,a9 in e(a5)do local ah=ac and k(a9,0,ag)or a9;local a1=a4(a3,ah)if ad[a1]==nil then ad[a1]={}i(ae,a1)end;i(ad[a1],a9)end;j(ae)for a8,a9 in f(ae)do for W,X in e(ad[a9])do i(af,X)end end;return af end;n[G]=function(a3,...)return ab(a3,n.dld,m,...)end;n.fsd=n[G]n[H]=function(a3,...)return ab(a3,n.dlr,m,...)end;n.fsr=n[H]n[K]=function(a3,...)return ab(a3,n.dld,l,...)end;n.fad=n[K]n[L]=function(a3,...)return ab(a3,n.dlr,l,...)end;n.far=n[L]return n +local a,b,c,d,e,f,g,h,i,j,k,l,m,n=string.len,string.byte,math.min,assert,pairs,ipairs,type,unpack,table.insert,table.sort,string.sub,true,false,table.concat;local o={}local p,q,r,s,t,u,v,w,x,y="Damerau","Levenshtein","Distance","Ratio","Fuzzy","Find","Sort","_extended","Hamming","Autocomplete"local z,A,B,C,D,E,F,G,H,I,J,K,L,M,N=q..r..w,q..r,q..s,p..q..r..w,p..q..r,p..q..s,t..u..r,t..u..s,t..v..r,t..v..s,x..r,x..s,t..y..r,t..y..s,"table"local function O(P,Q,R,S,T,...)local U={...}local V,W=a(P),a(Q)local X={}for Y=0,V do X[Y]={}for Z=0,W do X[Y][Z]=0 end end;for Y=1,V do X[Y][0]=Y end;for Z=1,W do X[0][Z]=Z end;for Z=1,W do for Y=1,V do local _,a0=b(P,Y),b(Q,Z)X[Y][Z]=c(X[Y-1][Z]+T,X[Y][Z-1]+R,X[Y-1][Z-1]+(_==a0 and 0 or S))if U[1]and Y>1 and Z>1 and _==b(Q,Z-1)and b(P,Y-1)==a0 then X[Y][Z]=c(X[Y][Z],X[Y-2][Z-2]+(_==a0 and 0 or U[2]))end end end;return X[V][W]end;o._VERSION="1.4"o[z]=function(P,Q,R,S,T)return O(P,Q,R,S,T)end;o.ld_e=o[z]o[A]=function(P,Q)return o.ld_e(P,Q,1,1,1)end;o.ld=o[A]o[B]=function(P,Q)return o.ld(P,Q)/a(P)end;o.lr=o[B]o[C]=function(P,Q,R,S,T,a1)return O(P,Q,R,S,T,l,a1)end;o.dld_e=o[C]o[D]=function(P,Q)return o.dld_e(P,Q,1,1,1,1)end;o.dld=o[D]o[E]=function(P,Q)return o.dld(P,Q)/a(P)end;o.dlr=o[E]o[J]=function(P,Q)local a2,a3=a(P),0;d(a2==a(Q),n({x," ",r," cannot be calculated on two strings of different lengths:\"",P,"\" \"",Q,"\""}))for Y=1,a2 do a3=a3+(b(P,Y)~=b(Q,Y)and 1 or 0)end;return a3 end;o.hd=o[J]o[K]=function(P,Q)return o.hd(P,Q)/a(P)end;o.hr=o[K]local function a4(a5,a6,...)local U={...}local a7=g(U[1])==N and U[1]or U;local a8,a9=a6(a7[1],a5),a7[1]for aa,ab in e(a7)do local ac=a6(ab,a5)if ac<=a8 then a8,a9=ac,aa end end;return a7[a9],a8 end;o[F]=function(a5,...)return h{a4(a5,o.dld,...)}end;o.ffd=o[F]o[G]=function(a5,...)return h{a4(a5,o.dlr,...)}end;o.ffr=o[G]local function ad(a5,a6,ae,...)local U={...}local a7=g(U[1])==N and U[1]or U;local af,ag,ah,ai={},{},{},a(a5)for aa,ab in e(a7)do local aj=ae and k(ab,0,ai)or ab;local a3=a6(a5,aj)if af[a3]==nil then af[a3]={}i(ag,a3)end;i(af[a3],ab)end;j(ag)for aa,ab in f(ag)do for Y,Z in e(af[ab])do i(ah,Z)end end;return ah end;o[H]=function(a5,...)return ad(a5,o.dld,m,...)end;o.fsd=o[H]o[I]=function(a5,...)return ad(a5,o.dlr,m,...)end;o.fsr=o[I]o[L]=function(a5,...)return ad(a5,o.dld,l,...)end;o.fad=o[L]o[M]=function(a5,...)return ad(a5,o.dlr,l,...)end;o.far=o[M]return o |
