On Jun 22 2009, Iain Bason wrote:
>Jeff Squyres wrote:
>> Thanks for looking into this, David.
>> So if I understand that correctly, it means you have to assign all
>> literals in your fortran program with a "_16" suffix. I don't know if
>> that's standard Fortran or not.
>Yes, it is.
Sorry - no, it isn't. It's syntactically standard, but has an undefined
KIND parameters are processor dependent, and do NOT mean the size in bytes,
words or anything else. On a VAX or Alpha, and potentially on IBM and Intel
systems in the future, you could have several different floating-point types
of the same length. Currently, not all compilers use the same conventions,
even on the same system.
The correct way to do it is to have a module that defines a suitable
parameter, include that module everywhere, and use that parameter. For
INTEGER, PARAMETER :: dp = SELECTED_REAL_KIND(12)
END MODULE double
Include 'USE double' at the start of every procedure and module, and then
University of Cambridge Computing Service,
New Museums Site, Pembroke Street, Cambridge CB2 3QH, England.
Tel.: +44 1223 334761 Fax: +44 1223 334679