The KIND
type parameters supported by GNU Fortran for the primitive
data types are:
INTEGER
1, 2, 4, 8*, 16*, default: 4**
LOGICAL
1, 2, 4, 8*, 16*, default: 4**
REAL
4, 8, 10*, 16*, default: 4***
COMPLEX
4, 8, 10*, 16*, default: 4***
DOUBLE PRECISION
4, 8, 10*, 16*, default: 8***
CHARACTER
1, 4, default: 1
* not available on all systems
** unless -fdefault-integer-8 is used
*** unless -fdefault-real-8 is used (see Fortran Dialect Options)
The KIND
value matches the storage size in bytes, except for
COMPLEX
where the storage size is twice as much (or both real and
imaginary part are a real value of the given size). It is recommended to use
the SELECTED_CHAR_KIND, SELECTED_INT_KIND and
SELECTED_REAL_KIND intrinsics or the INT8
, INT16
,
INT32
, INT64
, REAL32
, REAL64
, and REAL128
parameters of the ISO_FORTRAN_ENV
module instead of the concrete values.
The available kind parameters can be found in the constant arrays
CHARACTER_KINDS
, INTEGER_KINDS
, LOGICAL_KINDS
and
REAL_KINDS
in the ISO_FORTRAN_ENV module. For C interoperability,
the kind parameters of the ISO_C_BINDING module should be used.