Current section
Files
Jump to
Current section
Files
lib/k/w.ex
defmodule Hexzip.K do
@moduledoc false
alias Krug.StringUtil
def z(w,z) do
cond do
(j() |> j(w) or z(w) |> j(y())) -> z
(j() |> j(z) or z(z) |> j(y())) -> w
true -> z(w,z,y(),y(),[])
end
end
defp z(z,x,k,y,w) do
cond do
(y >= z(x)) -> w |> w()
true -> w(z,x,k,y,w)
end
end
defp w(y,k,z,w,x) do
a = y |> k(z)
b = k |> k(w)
z = y(y,z)
w = x(z,w)
z(y,k,z,w,z(x,a,b))
end
defp y(w,y) do
cond do
((y |> b()) >= z(w)) -> y()
true -> y |> b()
end
end
defp w(z) do
z |> Enum.reverse()
end
defp x(y,x) do
cond do
(y |> j(y())) -> x |> b()
true -> x
end
end
def j(x,w) do
w == x
end
defp x(y) do
"#{y}" |> StringUtil.trim(true)
end
defp w(x,w) do
x |> Enum.at(w)
end
defp b(b) do
b() + b
end
defp z(w,z,y) do
[b(y,z) | w]
end
defp y() do
0
end
defp k(x,w) do
x |> w(w) |> x()
end
defp b() do
y() + 1
end
defp j() do
nil
end
defp z(z) do
z |> length()
end
defp b(g,h) do
[h,g] |> Enum.join()
end
end