refactoring
This commit is contained in:
+4
-27
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user