Intel® Fortran Compiler 17.0 Developer Guide and Reference
Intel® Fortran provides the following intrinsic data types:
The following kind parameters are available for data of type integer:
INTEGER([KIND=]1) or INTEGER*1
INTEGER([KIND=]2) or INTEGER*2
INTEGER([KIND=]4) or INTEGER*4
INTEGER([KIND=]8) or INTEGER*8
The following kind parameters are available for data of type real:
REAL([KIND=]4) or REAL*4
REAL([KIND=]8) or REAL*8
REAL([KIND=]16) or REAL*16
No kind parameter is permitted for data declared with type DOUBLE PRECISION. This data type is the same as REAL([KIND=]8).
The following kind parameters are available for data of type complex:
COMPLEX([KIND=]4) or COMPLEX*8
COMPLEX([KIND=]8) or COMPLEX*16
COMPLEX([KIND=]16) or COMPLEX*32
No kind parameter is permitted for data declared with type DOUBLE COMPLEX. This data type is the same as COMPLEX([KIND=]8).
The following kind parameters are available for data of type logical:
LOGICAL([KIND=]1) or LOGICAL*1
LOGICAL([KIND=]2) or LOGICAL*2
LOGICAL([KIND=]4) or LOGICAL*4
LOGICAL([KIND=]8) or LOGICAL*8
There is one kind parameter available for data of type character: CHARACTER([KIND=]1).
This is a 1-byte value; the data type is equivalent to INTEGER([KIND=]1).
The intrinsic function KIND can be used to determine the kind type parameter of a representation method.
For more portable programs, you should not use the forms INTEGER([KIND=]n) or REAL([KIND=]n). You should instead define a PARAMETER constant using the SELECTED_INT_KIND or SELECTED_REAL_KIND function, whichever is appropriate. For example, the following statements define a PARAMETER constant for an INTEGER kind that has 9 digits:
INTEGER, PARAMETER :: MY_INT_KIND = SELECTED_INT_KIND(9)
...
INTEGER(MY_INT_KIND) :: J
...
Note that the syntax :: is used in type declaration statements.
The following sections describe the intrinsic data types and forms for literal constants for each type.