On Sun, 17 May 2009 21:14:46 +0400, Andrei Alexandrescu <[email protected]> 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.
