Hello,
At the risk of continuing to touch the tar baby ...
robin wrote:
> From: "Dan Nagle" <[log in to unmask]>
> Sent: Friday, January 13, 2006 1:11 AM
>
>
>>robin wrote:
>>
>>>From: Bill Long
>>>Sent: Thursday, January 12, 2006 9:48 AM
>>
>><snip>
>>
>>>>Well, using DOUBLE PRECISION as a replacement for real*8 is even worse.
>>>>It is likely to be wrong on at least some systems - the very definition of
>
> not portable.
>
>>>DOUBLE PRECISION gives double precision on every Fortran,
>>>and by definition is fully portable.
>>>
>>> On the other hand, real*8 is not portable.
>>
>>This obviously confuses "non-standard" with "non-portable".
> It confuses nothing of the sort.
Robin confuses exactly that, non-standard versus non-portable.
Robin may also be confusing syntax versus semantics,
but at this point, I don't care.
>>In fact, DOUBLE PRECISION is _not_ portable, as it means 64 bit real
>>on some systems, and 128 bit real on others for example.
> It is fully portable, as it always means DOUBLE precision.
And, pray tell, exactly what does DOUBLE precision mean?
>>REAL*8 always means 64 bit real, it is therefore portable.
>>It is not standard,
> and therefore is NOT PORTABLE.
Please name ONE compiler which does not support "*n" syntax
when compiling with its default settings.
If you want to try, name ONE compiler which does support "*n" syntax,
and gets the semantics wrong without a warning when compiling
with its default settings.
>>and therefore may not be supported
> which means that it is NOT portable.
>>if the processor is strictly enforcing the standard (as it may well,
>>especially when the whine-on-non-standard switch is enabled).
Robin may be interested in trying to understand 1.4(6), and 16.4.3.1
of the Fortran 2003 standard.
Question for Robin: Why do sections 13.8.2.1, 13.8.2.3,
and, especially 13.8.2.7, exist?
oo
--
Cheers!
Dan Nagle
Purple Sage Computing Solutions, Inc.
|