GNU Fortran allows old-style kind specifications in declarations. These look like:
TYPESPEC*size x,y,z
where TYPESPEC
is a basic type (INTEGER
, REAL
, etc.), and where size
is a byte count corresponding to the storage size of a valid kind for that type. (For COMPLEX
variables, size
is the total size of the real and imaginary parts.) The statement then declares x
, y
and z
to be of type TYPESPEC
with the appropriate kind. This is equivalent to the standard-conforming declaration
TYPESPEC(k) x,y,z
where k
is the kind parameter suitable for the intended precision. As kind parameters are implementation-dependent, use the KIND
, SELECTED_INT_KIND
and SELECTED_REAL_KIND
intrinsics to retrieve the correct value, for instance REAL*8 x
can be replaced by:
INTEGER, PARAMETER :: dbl = KIND(1.0d0) REAL(KIND=dbl) :: x
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-7.2.0/gfortran/Old_002dstyle-kind-specifications.html