Pluto <pl...@planets.not> wrote:

== Quote from Simen kjaeraas (simen.kja...@gmail.com)'s article
Pluto <pl...@planets.not> wrote:
> This part has always bothered me. Could somebody please explain to me the
> rationale behind limiting functions to one usable error code?
Well, traditionally it was done because testing for 0/non-0 is a simple
and fast operation.
So speed it is. Was <1 really slower back then?

Likely not. But the assembly is easier:
jnz <label>; vs cmp EAX 0; jg <label>;


Also, boolean logic can be thought of as simple maths,
as AND is multiplication and OR is addition. This only makes sense if
false == 0.
false < 1, is what I would expect.
It even makes it more symmetrical.

How?
Let's start out with a false value f of -1. Now AND it with itself
(f * f), and you get 1, which is true. This does not seem correct.


--
Simen

Reply via email to