hadley said:
Thanks for that explanation, although it does worry me a little, I
understand that getting floating point working precisely correctly
across multiple platforms is very hard.
Which is *precisely* why dozens of hard core applied mathematicians and
computer scientists, the IEEE and SIAM (Society for Industrial and
Applied Mathematics), and nearly every vendor of equipment intended for
scientific computing, both large and small, developed and embraced the
IEEE standards! Note that there are actually *two* IEEE standards. The
one most of us think of is the 32-bit/64-bit one that's implemented in
Intel hardware. However, there was another looser standard which did not
specify bit for bit behavior but only the computational requirements.
The IEEE floating point standards are happy exceptions to the rule that
nothing good was ever designed by a committee.
Some important vendors of such equipment -- Cray, FPS and IBM -- adhered
to neither of these standards. Digital/Compaq/HP adopted it for the
Alphas but kept the Vax line at its historic format for compatibility.
But *new* architectures almost entirely adopted IEEE -- there is little
reason not to do so. At some point in the evolution of Ruby, the number
of actual users of non-IEEE platforms will be negligible. Just out of
curiosity, how many users of non-IEEE Ruby are there on this list, and
what fraction of the total list membership does that represent? Feel
free to decline to answer if you're in a classified shop.
