Eliminate the baroque floating-point operators a la !<>=
Denis Koroskin
2korden at gmail.com
Sun May 17 10:19:47 PDT 2009
On Sun, 17 May 2009 21:14:46 +0400, Andrei Alexandrescu <SeeWebsiteForEmail at erdani.org> wrote:
> 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
Does anyone other than Don uses them at all?
I don't care if they are removed from D.
More information about the Digitalmars-d
mailing list