in reply to Compression in Golf: Part I
I just realized we can reduce my original packed 95-stroker:
by two strokes:map$c[$_*=.52,5.5-4.7*cos][8+7.4*sin]=($`%12^$_?o:x)&($'/+5^$ a.$_?o:v125),0..s//<>/e./:/;print"@$_\n"for@c
As you can see from the table below, the "?" character, by pure fluke, is two before "A" in the ASCII table:map$c[$_*=.52,5.5-4.7*cos][8+7.4*sin]=($`%12^$_?o:x)&($'/5^$_ ?o:v125),0..s//<>/e./:/;print"@$_\n"for@c#```
ord | pack | len | chr |
---|---|---|---|
63 | 31 | ? | |
64 | 32 | @ | |
65 | 33 | 45 | A |
So we can hijack pack's "?" length byte as part of our ternary expression! Note that we padded the source program with #``` at the end to keep its length at 45, the required multiple of four.
|
---|
In Section
Meditations