Skip to content
Snippets Groups Projects
Commit cea76a8f authored by dtc's avatar dtc
Browse files

Enhancement of the arithmetic function derive type optimizers to

better handle float zeros, by Raymond Toy and Douglas Crosher:

* The arithmetic function derive type optimisers now accept intervals
for which -0.0 and 0.0 are recognisably different. This will fix
naturally into a proposal by Raymond Toy which is conditional upon
:negative-zero-is-not-zero. Without this feature the functions
{one,two}-arg-derive-type convert the type intervals appropriately
before and after these optimisers so that the user visible type
specifiers behave the same.

* Update interval-range-info to recognise the difference between -0.0
and 0.0. This in turn helps fix the phase derive type optimizer.

* Elfun-derive-type-simple now uses a type specifier to giving the
applicable range rather then a function; updates to the various uses
of this function.

* The sqrt and log derive type optimizers have been re-written and now
use elfun-derive-type-simple.

* Remove the unused function numeric-real-union-type-p.

* Extend the expt trnasform to transform powers of 1/2 to sqrt.
parent e9d497fe
No related branches found
No related tags found
No related merge requests found
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment