iso_fortran_env(7f) - [FORTRAN] standard intrinsic module provides public entities related to the Fortran environment
use, intrinsic :: iso_fortran_env, only : integer_kinds, int8, int16, int32, int64 use, intrinsic :: iso_fortran_env, only : real_kinds, real32, real64, real128 use, intrinsic :: iso_fortran_env, only : logical_kinds use, intrinsic :: iso_fortran_env, only : character_kinds, character_storage_sizeuse, intrinsic :: iso_fortran_env, only : compiler_options, compiler_version
use, intrinsic :: iso_fortran_env, only : error_unit, input_unit, output_unit
use, intrinsic :: iso_fortran_env, only : file_storage_size, numeric_storage_size use, intrinsic :: iso_fortran_env, only : iostat_end, iostat_eor, iostat_inquire_internal_unit use, intrinsic :: iso_fortran_env, only : stat_stopped_image
The intrinsic module ISO_FORTRAN_ENV provides at least the following public entities relating to the Fortran environment.
This part of ISO/IEC 1539 defines five standard intrinsic modules: a Fortran environment module, a set of three modules to support exception handling and IEEE arithmetic, and a module to support interoperability with the C programming language.
The IEEE_EXCEPTIONS, IEEE_ARITHMETIC, and IEEE_FEATURES intrinsic modules are described in Clause 14. The intrinsic module ISO_C_BINDING is described in Clause 15.
The types and procedures defined in standard intrinsic modules are not themselves intrinsic.
A processor may extend the standard intrinsic modules to provide public entities in them in addition to those specified in ISO/IEC 1539.
To avoid potential name conflicts with program entities, it is recommended that a program use the ONLY option in any USE statement that references a standard intrinsic module.
The values of the elements of the default integer named constant array CHARACTER_KINDS are the kind values supported by the processor for variables of type character. The order of the values is processor dependent. The size of the array is the number of character kinds supported.
The value of the default integer scalar constant CHARACTER_STORAGE_SIZE is the size expressed in bits of the character storage unit (16.5.3.2).
Processor-dependent string describing the options that controlled the program translation phase. Class Inquiry function. Argument None. Result Characteristics Default character scalar with processor-dependent length. Result Value A processor-dependent value which describes the options that controlled the translation phase of program execution.
COMPILER_OPTIONS() might have the value /OPTIMIZE /FLOAT=IEEE.
Processor-dependent string identifying the program translation phase. Class Inquiry function. Argument None. Result Characteristics Default character scalar with processor-dependent length. Result Value A processor-dependent value that identifies the name and version of the program translation phase of the processor.
COMPILER_VERSION() might have the value Fast KL-10 Compiler Version 7.
For both COMPILER_OPTIONS and COMPILER VERSION the processor should include relevant information that could be useful in solving problems found long after the translation phase. For example, compiler release and patch level, default compiler arguments, environment variable values, and run time library requirements might be included. A processor might include this information in an object file automatically, without the user needing to save the result of this function in a variable.
The value of the default integer scalar constant ERROR_UNIT identifies the processor-dependent preconnected external unit used for the purpose of error reporting. This unit may be the same as OUTPUT_UNIT. The value shall not be -1.
The value of the default integer scalar constant FILE_STORAGE_SIZE is the size expressed in bits of the file storage unit.
The value of the default integer scalar constant INPUT_UNIT identifies the same processor-dependent external unit preconnected for sequential formatted input as the one identified by an asterisk in a READ statement; this unit is the one used for a READ statement that does not contain an input/output control list (9.6.4.2). The value shall not be -1.
The values of the elements of the default integer named constant array INTEGER_KINDS are the kind values supported by the processor for variables of type integer. The order of the values is processor dependent. The size of the array is the number of integer kinds supported.
INT8, INT16, INT32, and INT64
The values of these default integer scalar named constants shall be those of the kind type parameters that specify an INTEGER type whose storage size expressed in bits is 8, 16, 32, and 64 respectively. If, for any of these constants, the processor supports more than one kind of that size, it is processor-dependent which kind value is provided. If the processor supports no kind of a particular size, that constant shall be equal to -2 if the processor supports kinds of a larger size and -1 otherwise.
The value of the default integer scalar constant IOSTAT_END is assigned to the variable specified in an IOSTAT= specifier (9.11.5) if an end-of-file condition occurs during execution of an input/output statement and no error condition occurs. This value shall be negative.
The value of the default integer scalar constant IOSTAT_EOR is assigned to the variable specified in an IOSTAT= specifier (9.11.5) if an end-of-record condition occurs during execution of an input/output statement and no end-of-file or error condition occurs. This value shall be negative and different from the value of IOSTAT_END.
The value of the default integer scalar constant IOSTAT_INQUIRE_INTERNAL_UNIT is assigned to the variable specified in an IOSTAT= specifier in an INQUIRE statement (9.10) if a file-unit-number identifies an internal unit in that statement.
This can only occur when a user defined derived type input/output procedure is called by the processor as the result of executing a parent data transfer statement for an internal unit.
The values of the elements of the default integer named constant array LOGICAL KINDS are the kind values supported by the processor for variables of type logical. The order of the values is processor dependent. The size of the array is the number of logical kinds supported.
The value of the default integer scalar constant NUMERIC_STORAGE_SIZE is the size expressed in bits of the numeric storage unit (16.5.3.2).
The value of the default integer scalar constant OUTPUT_UNIT identifies the same processor-dependent external unit preconnected for sequential formatted output as the one identified by an asterisk in a WRITE statement. The value shall not be -1.
The values of the elements of the default integer named constant array REAL KINDS are the kind values supported by the processor for variables of type real. The order of the values is processor dependent. The size of the array is the number of real kinds supported.
REAL32, REAL64, and REAL128
The values of these default integer scalar named constants shall be those of the kind type parameters that specify a REAL type whose storage size expressed in bits is 32, 64, and 128 respectively. If, for any of these constants, the processor supports more than one kind of that size, it is processor-dependent which kind value is provided. If the processor supports no kind of a particular size, that constant shall be equal to -2 if the processor supports kinds of a larger size and -1 otherwise.
The value of the default integer scalar constant STAT STOPPED IMAGE is assigned to the variable specified in a STAT= specifier (6.6.4, 8.5.5) if execution of the statement with that specifier or argument requires synchronization with an image that has initiated termination of execution. This value shall be positive and different from the value of IOSTAT INQUIRE INTERNAL UNIT.
Nemo Release 3.1 | iso_fortran_env (7) | February 23, 2025 |