refactoring

This commit is contained in:
Manuel Simon Hirsig
2016-07-15 19:09:09 +02:00
parent e13e9f003e
commit a9290f2885
8 changed files with 101 additions and 130 deletions
+4 -27
View File
@@ -1,39 +1,16 @@
local private, public = {}, {}
Aux.sort = public
local m, private, public = Aux.module'sort'
public.LT = {}
public.EQ = {}
public.GT = {}
function public.invert_order(ordering)
if ordering == public.LT then
return public.GT
elseif ordering == public.GT then
return public.LT
else
return public.EQ
end
end
function public.compare(a, b, desc)
if a < b then
return desc and public.GT or public.LT
return desc and m.GT or m.LT
elseif a > b then
return desc and public.LT or public.GT
return desc and m.LT or m.GT
else
return public.EQ
end
end
function public.compare_from_lt(lt)
return function(a, b)
if lt(a, b) then
return public.LT
elseif lt(b, a) then
return public.GT
else
return public.EQ
end
return m.EQ
end
end