(Arne Babenhauserheide)
2014-01-09: restructuring of formulas for higher performance thanks to Mark restructuring of formulas for higher performance thanks to Mark Weaver.
diff --git a/examples/tinyenc.w b/examples/tinyenc.w --- a/examples/tinyenc.w +++ b/examples/tinyenc.w @@ -18,16 +18,18 @@ define : uint32 number modulo number uint32-limit define : v0change k0 v1 sum k1 - logxor - uint32 : + k0 : ash v1 4 - uint32 : + v1 sum - uint32 : + k1 : uint32 : ash v1 -5 + uint32 + logxor + + k0 : ash v1 4 + + v1 sum + + k1 : uint32 : ash v1 -5 define : v1change k2 v0 sum k3 - logxor - uint32 : + k2 : ash v0 4 - uint32 : + v0 sum - uint32 : + k3 : uint32 : ash v0 -5 + uint32 + logxor + + k2 : ash v0 4 + + v0 sum + + k3 : uint32 : ash v0 -5 ; Define a macro with-split-kv which executes its body with let bindings to k0 k1 k2 k3 v0 and v1 ; Use syntax-case to be able to break hygiene.