You are right, computing  X-T if you want know if X<T is wrong approach. I was react before think.<br><br><div class="gmail_quote">On Tue, Mar 17, 2009 at 12:15 AM, Richard O'Keefe <span dir="ltr"><<a href="mailto:ok@cs.otago.ac.nz">ok@cs.otago.ac.nz</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="im">I wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
There doesn't seem to be any reason to compute X-T.<br>
<br>
</blockquote></div><div class="im">
On 17 Mar 2009, at 12:44 am, Hynek Vychodil wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Are you sure that there is big difference between compute X-T and decide X<T or which one is less expensive? I'm not! If you haven't measured ...<br>
<br>
</blockquote></div>
This misses the point.<br>
The existing version requires 40 tokens,<br>
the simplified version requires 26.<br>
Never mind the computer, it's a heck of a lot easier for PEOPLE<br>
to think and to read.  Again, the existing version does one<br>
subtraction and three comparisons, while the simplified version<br>
does one comparison.  Never mind the computer, it's a heck of a<br>
lot easier for PEOPLE to think and to read.<br>
<br>
In general, there is a *correctness* issue in using<br>
X - Y when you really mean X <relop> Y.  Just last week<br>
I had occasion to point out to someone that using<br>
        static int intcmp(void const *x, void const *y) {<br>
            return *(int const *)x - *(int const *)y;<br>
        }<br>
as a comparison function in C's qsort() is *guaranteed* to<br>
give wrong answers.  Thanks to bignums -- I don't know who<br>
decided that Erlang would have bignums but it was a really<br>
excellent decision -- Erlang doesn't have that particular<br>
problem, but there is a similar problem involving floats.<br>
That doesn't apply in this case either, but it _is_ enough<br>
of a problem that we do NOT want people to get into the<br>
habit of "comparing" numbers by subtracting them.  It's FAR<br>
too error-prone.<br>
<br>
There are other reasons (simplicity, error-proneness) to<br>
prefer one approach to another than just machine efficiency.<br>
<br>
</blockquote></div><br><br clear="all"><br>-- <br>--Hynek (Pichi) Vychodil<br><br>Analyze your data in minutes. Share your insights instantly. Thrill your boss.  Be a data hero!<br>Try Good Data now for free: <a href="http://www.gooddata.com">www.gooddata.com</a><br>