<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
--></style>
</head>
<body class='hmmessage'>
When do you forsee any non-IEEE 754 floating point environments coming into existance?<BR>
<BR>
Or for that matter, simple efficient compatibility with all the C, C++, Java, Modula-3, JavaScript, etc. code in the world not being a feature of all CPUs, at least ones that have any floating point support? Or any software floating point library?<BR>
For that matter, probably Perl and Python, but I'd have to check.<BR>
Chances are high they only expose 64bit float and nothing else.<BR>
<BR>
<BR>
The precisions and magnitudes of 32bit float and 64bit double are *really old* and in no apparent danger of going away. I think over 25 years and counting (consider the "SANE" environment of the Macintosh in 1984 and the similarly timed Apple 6502 package. I think Applesoft/Microsoft BASIC might have used a different format, but the processor had no floating point support.) I think the only system with different formats is VAX. And Alpha supports IEEE-754 and VAX. ?<BR>
<BR>
<BR>
I know, I know "never say never", but sometimes....?<BR>
<BR>
<BR>
Certainly there are also 80bit formats on x86 and 68K.<BR>
Though x86 is moving away from this with SSE/SSE2.<BR>
And I think 128bit formats on PowerPC.<BR>
And something beyond 64bits on IA64 (Itanium).<BR>
<BR>
<BR>
- Jay<BR> <BR>> To: jay.krell@cornell.edu<BR>> CC: m3devel@elegosoft.com<BR>> Subject: Re: [M3devel] Integer literals <BR>> Date: Mon, 11 Jan 2010 21:46:03 -0800<BR>> From: mika@async.async.caltech.edu<BR>> <BR>> Jay K writes:<BR>> ><BR>> >>> One thing I've really struggled with over the introduction of LONGINT is<BR>> >>> the need for distinct literal forms. This strikes me as odd=2C since<BR>> >>> literals are really just ways of writing values=2C rather than stating<BR>> >>> anything about how they should be represented.<BR>> >>> (Yes=2C I know that the REAL/LONGREAL/EXTENDED literals are all distinct=<BR>> >=2C<BR>> >>> but they really do have incompatible value representations).<BR>> >><BR>> >> I agree=2C the need for distinctly typed literals is much greater for the<BR>> >> floating types than the integer types=2C because they can't be viewed<BR>> >> as having overlapping value sets in any reasonable way.<BR>> ><BR>> >=20<BR>> >Huh? This seems to me to be directly opposite of the truth.<BR>> >LONGREAL is a strict superset of REAL in what it can represent.<BR>> >There is *complete* overlap.<BR>> >Am I really mistaken here?<BR>> >Floating point is indeed very wierd=2C but it isn't this wierd.<BR>> >Right?<BR>> >=20<BR>> >=20<BR>> > - Jay<BR>> <BR>> Jay, I think if you have hardware that's strictly compliant with IEEE<BR>> 754, you're right. Or at least there exists an interpretation of the<BR>> values that have this property. I alluded earlier to the fact that<BR>> Alpha represents single-precision by zeroing out the middle of the<BR>> double-precision register (some of the mantissa and some of the exponent).<BR>> <BR>> However I'm sure there are systems for which this is not true. Is <BR>> Modula-3 forbidden from being ported to such machines?<BR>> <BR>> Mika<BR> </body>
</html>