<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
--></style>
</head>
<body class='hmmessage'>
And even these 80 bit and 128 bit formats I'm sure can represent all values losslessly of the smaller types. I have to look into this stuff though.<BR>
 <BR>
 - Jay<BR><BR> <BR>
<HR id=stopSpelling>
From: jay.krell@cornell.edu<BR>To: mika@async.async.caltech.edu<BR>CC: m3devel@elegosoft.com<BR>Subject: RE: [M3devel] Integer literals<BR>Date: Tue, 12 Jan 2010 06:19:45 +0000<BR><BR>
<STYLE>
.ExternalClass .ecxhmmessage P
{padding:0px;}
.ExternalClass body.ecxhmmessage
{font-size:10pt;font-family:Verdana;}
</STYLE>
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>