[gfortran,ping] support for large kinds in front-end and library

Richard E Maine Richard.Maine@nasa.gov
Mon Sep 12 19:06:00 GMT 2005


On Sep 12, 2005, at 10:45 AM, Steve Kargl wrote:

> On Mon, Sep 12, 2005 at 07:19:20PM +0200, Fran?ois-Xavier Coudert 
> wrote:
>>
>>> So, we need to have configure check if these exists in libm,
>>> and if not, we need to provide implementations.
>>
>> Well, I don't think it's our job to provide implementations.
>
> If we provide REAL(10) (or REAL(16)) data type, then we
> must provide "working" Fortran intrinsic procedures (for
> some definition of "working").  IIRC, this is a requirement
> of the Standard.

That's my understanding also. I've seen at least one case where a 
vendor tried to weasel out of this by arguing that they supported an 
additional real kind as an "extension." This was their attempt at 
justifying why they could get by without supporting a complex of that 
kind. But I don't think that the argument actually held water because 
some aspects turned into violations instead of extensions.

For a very pointed and specific example, I think it a violation for 
selected_real_kind to return a positive value that isn't the kind of a 
fully supported real; a user is supposed to be able to count on 
anything returned by selected_real_kind as either being negative or 
completely implemented. Please don't break that bit; it is fundamental 
and important. If you have an incompletely implemented kind, then make 
sure it doesn't get returned by things like selected_real_kind.

-- 
Richard Maine                |  Good judgment comes from experience;
Richard.Maine@nasa.gov       |  experience comes from bad judgment.
                             |        -- Mark Twain



More information about the Fortran mailing list