comp.lang.ada
 help / color / mirror / Atom feed
From: bwburnsed@aol.com (BWBurnsed)
Subject: Can compilers do this?
Date: 1996/02/22
Date: 1996-02-22T00:00:00+00:00	[thread overview]
Message-ID: <4gjd6g$mfq@newsbf02.news.aol.com> (raw)

I came across some very strange looking code that someone else wrote,
long, long ago, and (apparently) in a universe far, far away. But before I

make too many critical comments, I want to be sure I'm not missing
something.

Repeatedly in this code (in many files), there are places where a floating
point variable is tested to see if it is negative. However, the way it is
done is:

     if  X * abs(X)  <  0.0  then  ...

Is there (or was there ever) some pathological anomaly about floating
point 
implementations that would make a conversion (abs) and floating point
multiply 
preferable to testing a sign bit? Can, and will, optimizing compilers
recognize the
real test desired in such constructs, i.e. reduce it to a sign bit test?

Also, suppose Y and X are floating point variables, and M and B are 
CONSTANT floating point variables (not named numbers) initialized to
1.0  and  0.0  respectively. If one writes

     Y := M * X  +  B ;

can (and will) any compiler reduce this to

     Y := X ;

If not, could it do so if M and B were named numbers?

Thanks,
BwB




             reply	other threads:[~1996-02-22  0:00 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1996-02-22  0:00 BWBurnsed [this message]
1996-02-23  0:00 ` Can compilers do this? Robert Dewar
1996-02-23  0:00 ` Cordes MJ
1996-02-23  0:00 ` Stuart Palin
1996-02-23  0:00 ` Robert Dewar
1996-02-23  0:00 ` Mark A Biggar
1996-02-24  0:00   ` Robert A Duff
1996-02-23  0:00     ` Robert Dewar
1996-02-25  0:00   ` Robert Dewar
1996-02-26  0:00 ` Robert I. Eachus
1996-02-26  0:00   ` BWBurnsed
  -- strict thread matches above, loose matches on Subject: below --
1996-02-26  0:00 Marin David Condic, 407.796.8997, M/S 731-93
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox