KIND Type Parameters#

The KIND type parameters supported by GNU Fortran for the primitive data types are:

INTEGER

1, 2, 4, 8 [1], 16 [1], default: 4 [2]

LOGICAL

1, 2, 4, 8 [1], 16 [1], default: 4 [2]

REAL

4, 8, 10 [1], 16 [1], default: 4 [3]

COMPLEX

4, 8, 10 [1], 16 [1], default: 4 [3]

DOUBLE PRECISION

4, 8, 10 [1], 16 [1], default: 8 [3]

CHARACTER

1, 4, default: 1

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 — Choose character kind, SELECTED_INT_KIND — Choose integer kind and SELECTED_REAL_KIND — Choose 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.