Target control of Fortran options

N.M. Maclaren nmm1@cam.ac.uk
Fri Oct 5 08:44:00 GMT 2018


On Oct 4 2018, Paul Koning wrote:
>> On Oct 4, 2018, at 10:31 AM, Janne Blomqvist 
>> 
>> So what this implies is that e.g. if you want the default kind REAL to 
>> be 8 bytes, then the default kind INTEGER and LOGICAL must also be 8 
>> bytes types, and further there must exist a 16 byte DOUBLE PRECISION 
>> type.
>
> Thanks, that was very helpful. While pdp11 can do INTEGER*8, it can't do 
> REAL*16. And I have no idea why the float == double thing was done 
> originally in the first place. It goes all the way back to the original 
> version of the file (from 1994).

The requirement is on storage size, not extra precision or range.  As I
tried to say earlier, but may not have been clear, the usual solution to
that issue was to have DOUBLE PRECISION using an 8-byte real in a 16-byte
location - i.e. 8 bytes of data and 8 of padding, on some order.

It does seem a bit odd, though there are several plausible reasons.


Regards,
Nick Maclaren.



More information about the Fortran mailing list