in reply to Pulling Punches
The margin of this web site is too small to contain my implementation. Sorry.
I'm sure that if it were efficient enough it would fit. :-P