Due to short-circuit of the boolean operations inside the if statement, the code is reasonably fast. Maybe using three look-up tables will improve the code speed, but I'm not an expert. :)
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler. -- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong. -- Iain Clarke
[My articles]