# E to F

This section describes language features that start with E or F.

Parent topic: A to Z Reference

- ELEMENTAL
  Keyword: Asserts that a user-defined procedure is defined on scalar arguments that may be called with array arguments. An elemental procedure may be a pure procedure or an impure procedure. An elemental procedure is an elemental intrinsic procedure, an intrinsic module procedure that is specified to be elemental, a user-defined procedure that is specified to be elemental, or a type-bound procedure that is bound to an elemental procedure. A procedure pointer or a dummy procedure can not be specified to be elemental.
- ELSE Directive
  Statement: Marks an optional branch in an IF Directive Construct.
- ELSE Statement
  Statement: Marks an optional branch in an IF Construct.
- ELSEIF Directive
  Statement: Marks an optional branch in an IF Directive Construct.
- ELSE IF
  Statement: Marks an optional branch in an IF Construct.
- ELSE WHERE
  Statement: Marks the beginning of an ELSE WHERE block within a WHERE construct.
- ENCODE
  Statement: Translates data from internal (binary) form to character form. It is comparable to using internal files in formatted sequential WRITE statements.
- END
  Statement: Marks the end of a program unit. It takes one of the following forms:
- END DO
  Statement: Marks the end of a DO or DO WHILE loop.
- ENDIF Directive
  Statement: Marks the end of an IF Directive Construct.
- END IF
  Statement: Marks the end of an IF Construct.
- ENDFILE
  Statement: For sequential files, writes an end-of-file record to the file and positions the file after this record (the terminal point). For direct access files, truncates the file after the current record.
- END FORALL
  Statement: Marks the end of a FORALL construct. The FORALL construct is an obsolescent language feature in Fortran 2018.
- END INTERFACE
  Statement: Marks the end of an INTERFACE block.
- END TYPE
  Statement: Specifies the end of a derived type TYPE statement.
- END WHERE
  Statement: Marks the end of a WHERE construct.
- ENTRY
  Statement: Provides one or more entry points within a subprogram. It is not executable and must precede any CONTAINS statement (if any) within the subprogram.
- EOF
  Inquiry Intrinsic Function (Generic): Checks whether a file is at or beyond the end-of-file record.
- EOSHIFT
  Transformational Intrinsic Function (Generic): Performs an end-off shift on a rank-one array, or performs end-off shifts on all the complete rank-one sections along a given dimension of an array of rank two or greater. Elements are shifted off at one end of a section and copies of a boundary value are filled in at the other end. Different sections can have different boundary values and can be shifted by different amounts and in different directions.
- EPSILON
  Inquiry Intrinsic Function (Generic): Returns a positive model number that is almost negligible compared to unity in the model representing real numbers.
- EQUIVALENCE
  Statement: Specifies that a storage area is shared by two or more objects in a program unit. This causes total or partial storage association of the objects that share the storage area. EQUIVALENCE is an obsolescent language feature in Standard Fortran.
- ERF
  Elemental Intrinsic Function (Generic): Returns the error function of an argument.
- ERFC
  Elemental Intrinsic Function (Generic): Returns the complementary error function of an argument.
- ERFC_SCALED
  Elemental Intrinsic Function (Generic): Returns the scaled complementary error function of an argument.
- ERRSNS
  Intrinsic Subroutine (Generic): Returns information about the most recently detected I/O system error condition. Intrinsic subroutines cannot be passed as actual arguments.
- ESTABLISHQQ
  Portability Function: Lets you specify a function to handle errors detected by the Run-Time Library (RTL). It lets you take appropriate steps in addition to the RTL's error-handling behavior, or it lets you replace that behavior.
- ETIME
  Portability Function: On single processor systems, returns the elapsed CPU time, in seconds, of the process that calls it. On multi-core or multi-processor systems, returns the elapsed wall-clock time, in seconds.
- EVENT POST and EVENT WAIT
  Statements: The EVENT POST statement allows an image to notify another image that it can proceed to work on tasks that use common resources. The EVENT WAIT statement allows an image to wait on events posted by other images. They take the following forms:
- EVENT_QUERY
  Intrinsic Subroutine (Generic): Queries the event count of an event variable.
- EXECUTE_COMMAND_LINE
  Intrinsic Subroutine: Executes a command line.
- EXIT Statement
  Statement: Terminates execution of a DO loop or a named construct.
- EXIT Subroutine
  Intrinsic Subroutine (Generic): Terminates program execution, closes all files, and returns control to the operating system. Intrinsic subroutines cannot be passed as actual arguments.
- EXP
  Elemental Intrinsic Function (Generic): Computes an exponential value.
- EXP10
  Elemental Intrinsic Function (Generic): Computes a base 10 exponential value.
- EXPONENT
  Elemental Intrinsic Function (Generic): Returns the exponent part of the argument when represented as a model number.
- EXTENDS_TYPE_OF
  Inquiry Intrinsic Function (Generic): Inquires whether the dynamic type of an object is an extension type of the dynamic type of another object.
- EXTERNAL
  Statement and Attribute: Allows an external procedure, a dummy procedure, a procedure pointer, or a block data subprogram to be used as an actual argument. (To specify intrinsic procedures as actual arguments, use the INTRINSIC attribute.)
- FAIL IMAGE
  Statement: Causes the image that executes it to stop participating in program execution, without initiating termination.
- FAILED_IMAGES
  Transformational Intrinsic Function (Generic): Returns an array of index images that have failed.
- FDATE
  Portability Function and Subroutine: Returns the current date and time as an ASCII string.
- FGETC
  Portability Function: Reads the next available character from a file specified by a Fortran unit number.
- FINAL Clause
  Parallel Directive Clause: Specifies that the generated task will be a final task.
- FINAL Statement
  Statement: Denotes a finalization procedure that defines one or more final subroutines that are bound to a derived type.
- FIND
  Statement: Positions a direct access file at a particular record and sets the associated variable of the file to that record number. It is comparable to a direct access READ statement with no I/O list, and it can open an existing file. No data transfer takes place.
- FINDLOC
  Transformational Intrinsic Function (Generic): Finds the location of a specified value in an array.
- FINDFILEQQ
  Portability Function: Searches for a specified file in the directories listed in the path contained in the environment variable.
- FIRSTPRIVATE
  Parallel Directive Clause: Provides a superset of the functionality provided by the PRIVATE clause. It declares one or more variables to be private to each thread in a team, and initializes each of them with the value of the corresponding original variable.
- FIXEDFORMLINESIZE
  General Compiler Directive: Sets the line length for fixed-form Fortran source code.
- FLOAT
  Elemental Intrinsic Function (Generic): Converts an integer to REAL(4).
- FLOOR
  Elemental Intrinsic Function (Generic): Returns the greatest integer less than or equal to its argument.
- FLUSH Directive
  OpenMP* Fortran Compiler Directive: Identifies synchronization points at which the threads in a team must provide a consistent view of memory.
- FLUSH Statement
  Statement: Causes data written to a file to become available to other processes or causes data written to a file outside of Fortran to be accessible to a READ statement. It takes one of the following forms:
- FLUSH Subroutine
  Portability Subroutine: Flushes the contents of an external unit buffer into its associated file.
- FMA and NOFMA
  General Compiler Directives: Tells the compiler to allow generation of fused multiply-add (FMA) instructions, also known as floating-point contractions. NOFMA disables the generation of FMA instructions.
- FOR__SET_FTN_ALLOC
  Run-Time Function: Lets you specify your own routine to dynamically allocate common blocks. This function is especially useful when you are sharing libraries.
- FOR_DESCRIPTOR_ASSIGN (W*S)
  Run-Time Subroutine: Creates an array descriptor in memory.
- FOR_GET_FPE
  Run-Time Function: Returns the current settings of floating-point exception flags. This routine can be called from a C or Fortran program.
- FOR_IFCORE_VERSION
  Portability Function: Returns the version of the Fortran run-time library (ifcore).
- FOR_IFPORT_VERSION
  Portability Function: Returns the version of the Fortran portability library (ifport).
- FOR_LFENCE
  Run-Time Subroutine: Inserts a memory load fence instruction that ensures completion of preceding load instructions.
- FOR_MFENCE
  Run-Time Subroutine: Inserts a memory fence instruction that ensures completion of all preceding load and store instructions.
- for_rtl_finish_
  Run-Time Function: Cleans up the Fortran run-time environment; for example, flushing buffers and closing files. It also issues messages about floating-point exceptions, if any occur.
- for_rtl_init_
  Run-Time Subroutine: Initializes the Fortran run-time environment and causes Fortran procedures and subroutines to behave the same as when called from a Fortran main program. On Linux* and macOS, it also establishes handlers and floating-point exception handling.
- FOR_SET_FPE
  Run-Time Function: Sets the floating-point exception flags. This routine can be called from a C or Fortran program.
- FOR_SET_REENTRANCY
  Run-Time Function: Controls the type of reentrancy protection that the Fortran Run-Time Library (RTL) exhibits. This routine can be called from a C or Fortran program.
- FOR_SFENCE
  Run-Time Subroutine: Inserts a memory store fence instruction that ensures completion of preceding store instructions.
- FORALL
  Statement and Construct: The FORALL statement and construct is an element-by-element generalization of the masked array assignment in the WHERE statement and construct. It allows more general array shapes to be assigned, especially in construct form. The FORALL construct is an obsolescent language feature in Fortran 2018.
- FORMAT
  Statement: Specifies the form of data being transferred and the data conversion (editing) required to achieve that form.
- FORM TEAM
  Statement: Defines team variables; creates one or more teams of images from the images on the current team.
- FP_CLASS
  Elemental Intrinsic Function (Generic): Returns the class of an IEEE* real (binary32, binary64, and binary128) argument. This function cannot be passed as an actual argument.
- FPUTC
  Portability Function: Writes a character to the file specified by a Fortran external unit, bypassing normal Fortran input/output.
- FRACTION
  Elemental Intrinsic Function (Generic): Returns the fractional part of the model representation of the argument value.
- FREE
  Intrinsic Subroutine (Specific): Frees a block of memory that is currently allocated. Intrinsic subroutines cannot be passed as actual arguments.
- FREEFORM and NOFREEFORM
  General Compiler Directives: FREEFORM specifies that source code is in free-form format. NOFREEFORM specifies that source code is in fixed-form format.
- FSEEK
  Portability Function: Repositions a file specified by a Fortran external unit.
- FSTAT
  Portability Function: Returns detailed information about a file specified by a external unit number.
- FTELL, FTELLI8
  Portability Functions: Return the current position of a file.
- FULLPATHQQ
  Portability Function: Returns the full path for a specified file or directory.
- FUNCTION
  Statement: The initial statement of a function subprogram. A function subprogram is invoked in an expression and returns a single value (a function result) that is used to evaluate the expression.