Intel® Fortran KIND Parameters

Each intrinsic data type (INTEGER, REAL, COMPLEX, LOGICAL and CHARACTER) has a KIND parameter associated with it. The actual values which the KIND parameter for each intrinsic type can take are implementation-dependent. The Fortran standard specifies that these values must be INTEGER, that there must be at least two REAL KINDs and two COMPLEX KINDs (corresponding in each case to default REAL and DOUBLE PRECISION), and that there must be at least one KIND for each of the INTEGER, CHARACTER and LOGICAL data types.

INTEGER KIND values

KIND=1 1-byte INTEGER
KIND
=2 2-byte INTEGER
KIND
=4 4-byte INTEGER default KIND
KIND
=8 8-byte INTEGER

REAL KIND values

KIND=4 4-byte REAL default KIND
KIND
=8 8-byte REAL equivalent to DOUBLE PRECISION
KIND
=16 16-byte REAL

COMPLEX KIND values

KIND=4 4-byte REAL & imaginary parts default KIND
KIND
=8 8-byte REAL & imaginary parts equivalent to DOUBLE COMPLEX
KIND
=16 16-byte REAL and imaginary parts equivalent to COMPLEX*32

LOGICAL KIND values

KIND=1 1-byte LOGICAL
KIND
=2 2-byte LOGICAL
KIND
=4 4-byte LOGICAL default KIND
KIND
=8 8-byte LOGICAL

CHARACTER KIND value

KIND=1 1-byte CHARACTER default KIND

Except for COMPLEX, the KIND numbers match the size of the type in bytes. For COMPLEX the KIND number is the KIND number of the REAL or imaginary part.

An include file (f90_kinds.f90) providing symbolic definitions, for use when defining KIND type parameters, is included as part of the standard Intel® Fortran release.