Eliminate the baroque floating-point operators a la !<>=
Andrei Alexandrescu
SeeWebsiteForEmail at erdani.org
Sun May 17 10:14:46 PDT 2009
Hello,
I think the floating-point operators:
a !<>= b
a !<> b
a <> b
a <>= b
a !> b
a !>= b
a !< b
a !<= b
are useless. A simple peephole optimization in the compiler can
automatically rewrite NaN test followed by regular operations into the
operations above, for example:
isNaN(a) || isNan(b) || a >= b
is the same as
a !< b
This is in keeping with what the compiler does when seeing code like:
a = x / y;
b = x % y;
There's a peephole optimization that groups the / and the % together
into an assembler operation that does both. If this is the way to go, we
better be congruent and use explicit isNaN tests (that are then
optimized) instead of defining eight extra operators.
Andrei
More information about the Digitalmars-d
mailing list