Next: , Previous: Intrinsic Procedures, Up: Top


7 Intrinsic Modules

7.1 ISO_FORTRAN_ENV

Standard:
Fortran 2003

The ISO_FORTRAN_ENV module provides the following scalar default-integer named constants:

CHARACTER_STORAGE_SIZE:
Size in bits of the character storage unit.
ERROR_UNIT:
Indentifies the preconnected unit used for error reporting.
FILE_STORAGE_SIZE:
Size in bits of the file-storage unit.
INPUT_UNIT:
Indentifies the preconnected unit indentified by the asterisk (*) in READ statement.
IOSTAT_END:
The value assigned to the variable passed to the IOSTAT= specifier of an input/output statement if an end-of-file condition occurred.
IOSTAT_EOR:
The value assigned to the variable passed to the IOSTAT= specifier of an input/output statement if an end-of-record condition occurred.
NUMERIC_STORAGE_SIZE:
The size in bits of the numeric storage unit.
OUTPUT_UNIT:
Indentifies the preconnected unit indentified by the asterisk (*) in WRITE statement.

7.2 ISO_C_BINDING

Standard:
Fortran 2003

The following intrinsic procedures are provided by the module; their definition can be found in the section Intrinsic Procedures of this manual.

C_ASSOCIATED
C_F_POINTER
C_F_PROCPOINTER
C_FUNLOC
C_LOC

The ISO_C_BINDING module provides the following named constants of the type integer, which can be used as KIND type parameter. Note that GNU Fortran currently does not support the C_INT_FAST... KIND type parameters (marked by an asterix (*) in the list below). The C_INT_FAST... parameters have therefore the value -2 and cannot be used as KIND type parameter of the INTEGER type.

Fortran Type Named constant C type
INTEGERC_INT int
INTEGERC_SHORT short int
INTEGERC_LONG long int
INTEGERC_LONG_LONG long long int
INTEGERC_SIGNED_CHAR signed char/unsigned char
INTEGERC_SIZE_T size_t
INTEGERC_INT8_T int8_t
INTEGERC_INT16_T int16_t
INTEGERC_INT32_T int32_t
INTEGERC_INT64_T int64_t
INTEGERC_INT_LEAST8_T int_least8_t
INTEGERC_INT_LEAST16_T int_least16_t
INTEGERC_INT_LEAST32_T int_least32_t
INTEGERC_INT_LEAST64_T int_least64_t
INTEGERC_INT_FAST8_T* int_fast8_t
INTEGERC_INT_FAST16_T* int_fast16_t
INTEGERC_INT_FAST32_T* int_fast32_t
INTEGERC_INT_FAST64_T* int_fast64_t
INTEGERC_INTMAX_T intmax_t
INTEGERC_INTPTR_T intptr_t
REAL C_FLOAT float
REAL C_DOUBLE double
REAL C_LONG_DOUBLE long double
COMPLEXC_FLOAT_COMPLEX float _Complex
COMPLEXC_DOUBLE_COMPLEXdouble _Complex
COMPLEXC_LONG_DOUBLE_COMPLEXlong double _Complex
LOGICALC_BOOL _Bool
CHARACTERC_CHAR char

Additionally, the following (CHARACTER(KIND=C_CHAR) are defined.

Name C definition Value
C_NULL_CHAR null character '\0'
C_ALERT alert '\a'
C_BACKSPACE backspace '\b'
C_FORM_FEED form feed '\f'
C_NEW_LINE new line '\n'
C_CARRIAGE_RETURN carriage return '\r'
C_HORIZONTAL_TAB horizontal tab '\t'
C_VERTICAL_TAB vertical tab '\v'

7.3 OpenMP Modules OMP_LIB and OMP_LIB_KINDS

Standard:
OpenMP Application Program Interface v2.5

The OpenMP Fortran runtime library routines are provided both in a form of two Fortran 90 modules, named OMP_LIB and OMP_LIB_KINDS, and in a form of a Fortran include file named omp_lib.h. The procedures provided by OMP_LIB can be found in the Introduction manual, the named constants defined in the OMP_LIB_KINDS module are listed below.

For details refer to the actual OpenMP Application Program Interface v2.5.

OMP_LIB_KINDS provides the following scalar default-integer named constants:

omp_integer_kind
omp_logical_kind
omp_lock_kind
omp_nest_lock_kind