# H to I

This section describes language features that start with H or I.

Parent topic: A to Z Reference

- HOSTNAM
  Portability Function: Returns the current host computer name. This function can also be specified as HOSTNM.
- HUGE
  Inquiry Intrinsic Function (Generic): Returns the largest number in the model representing the same type and kind parameters as the argument.
- HYPOT
  Elemental Intrinsic Function (Generic): Returns the value of the Euclidean distance of the arguments.
- IACHAR
  Elemental Intrinsic Function (Generic): Returns the position of a character in the ASCII character set, even if the processor's default character set is different. In Intel® Fortran, IACHAR is equivalent to the ICHAR function.
- IALL
  Transformational Intrinsic Function (Generic): Reduces an array with a bitwise AND operation.
- IAND
  Elemental Intrinsic Function (Generic): Performs a logical AND on corresponding bits. This function can also be specified as AND.
- IANY
  Transformational Intrinsic Function (Generic): Reduces an array with a bitwise OR operation.
- IARGC
  Inquiry Intrinsic Function (Specific): Returns the index of the last command-line argument. It cannot be passed as an actual argument. This function can also be specified as IARG or NUMARG.
- IBCHNG
  Elemental Intrinsic Function (Generic): Reverses the value of a specified bit in an integer.
- IBCLR
  Elemental Intrinsic Function (Generic): Clears one bit to zero.
- IBITS
  Elemental Intrinsic Function (Generic): Extracts a sequence of bits (a bit field).
- IBSET
  Elemental Intrinsic Function (Generic): Sets one bit to 1.
- ICHAR
  Elemental Intrinsic Function (Generic): Returns the position of a character in the processor's character set.
- IDATE Intrinsic Procedure
  Intrinsic Subroutine (Generic): Returns three integer values representing the current month, day, and year. IDATE can be used as an intrinsic subroutine or as a portability routine. It is an intrinsic procedure unless you specify USE IFPORT. Intrinsic subroutines cannot be passed as actual arguments.
- IDATE Portability Routine
  Portability Subroutine: Returns the month, day, and year of the current system. IDATE can be used as a portability subroutine or as an intrinsic procedure. It is an intrinsic procedure unless you specify USE IFPORT.
- IDATE4
  Portability Subroutine: Returns the month, day, and year of the current system.
- IDENT
  General Compiler Directive: Specifies a string that identifies an object module. The compiler places the string in the identification field of an object module when it generates the module for each source program unit.
- IDFLOAT
  Portability Function: Converts an INTEGER(4) argument to double-precision real type.
- IEEE_CLASS
  Elemental Module Intrinsic Function (Generic): Returns the IEEE class.
- IEEE_COPY_SIGN
  Elemental Module Intrinsic Function (Generic): Returns an argument with a copied sign. This is equivalent to the IEEE copysign function.
- IEEE_FLAGS
  Portability Function: Gets, sets or clears IEEE flags for rounding direction and precision as well as queries or controls exception status. This function provides easy access to the modes and status required to use the features of ISO/IEC/IEEE 60559:2011 arithmetic in a Fortran program.
- IEEE_FMA
  Elemental Module Intrinsic Function (Generic): Returns the result of a fused multiply-add operation. This is equivalent to the IEEE fusedMultiplyAdd operation.
- IEEE_GET_FLAG
  Elemental Module Intrinsic Subroutine (Generic): Returns whether an exception flag is signaling.
- IEEE_GET_HALTING_MODE
  Elemental Module Intrinsic Subroutine (Generic): Stores the halting mode for an exception.
- IEEE_GET_MODES
  Intrinsic Module Subroutine (Generic): Stores the current IEEE floating-point modes. This is an impure subroutine.
- IEEE_GET_ROUNDING_MODE
  Intrinsic Module Subroutine (Generic): Stores the current IEEE rounding mode. This is an impure subroutine.
- IEEE_GET_STATUS
  Intrinsic Module Subroutine (Generic): Stores the current state of the floating-point environment. This is an impure subroutine.
- IEEE_GET_UNDERFLOW_MODE
  Intrinsic Module Subroutine (Generic): Stores the current underflow mode. This is an impure subroutine.
- IEEE_HANDLER
  Portability Function: Establishes a handler for IEEE exceptions.
- IEEE_INT
  Elemental Module Intrinsic Function (Generic): Enables conversion to INTEGER type.
- IEEE_IS_FINITE
  Elemental Module Intrinsic Function (Generic): Returns whether an IEEE value is finite.
- IEEE_IS_NAN
  Elemental Module Intrinsic Function (Generic): Returns whether an IEEE value is Not-a-Number (NaN).
- IEEE_IS_NEGATIVE
  Elemental Module Intrinsic Function (Generic): Returns whether an IEEE value is negative.
- IEEE_IS_NORMAL
  Elemental Module Intrinsic Function (Generic): Returns whether an IEEE value is normal.
- IEEE_LOGB
  Elemental Module Intrinsic Function (Generic): Returns a floating-point value equal to the unbiased exponent of the argument. This is equivalent to the IEEE logb function.
- IEEE_MAX_NUM
  Inquiry Module Intrinsic Function (Generic): Returns the maximum of two values. This is equivalent to the IEEE maxNum operation.
- IEEE_MAX_NUM_MAG
  Inquiry Module Intrinsic Function (Generic): Returns the maximum magnitude of two values. This is equivalent to the IEEE maxNumMag operation.
- IEEE_MIN_NUM
  Inquiry Module Intrinsic Function (Generic): Returns the minimum of two values. This is equivalent to the IEEE minNum operation.
- IEEE_MIN_NUM_MAG
  Inquiry Module Intrinsic Function (Generic): Returns the minimum magnitude of two values. This is equivalent to the IEEE minNumMag operation.
- IEEE_NEXT_AFTER
  Elemental Module Intrinsic Function (Generic): Returns the next representable value after X toward Y. This is equivalent to the IEEE nextafter function.
- IEEE_NEXT_DOWN
  Elemental Module Intrinsic Function (Generic): Returns the next lower adjacent machine number. This is equivalent to the IEEE nextDown operation.
- IEEE_NEXT_UP
  Elemental Module Intrinsic Function (Generic): Returns the next higher adjacent machine number. This is equivalent to the IEEE nextUp operation.
- IEEE_QUIET_EQ
  Elemental Module Intrinsic Function (Generic): Performs a non-signaling comparison for equality. This is equivalent to the IEEE compareQuietEqual operation.
- IEEE_QUIET_GE
  Elemental Module Intrinsic Function (Generic): Performs a non-signaling comparison for greater than or equal. This is equivalent to the IEEE compareQuietGreaterEqual operation.
- IEEE_QUIET_GT
  Elemental Module Intrinsic Function (Generic): Performs a non-signaling comparison for greater than. This is equivalent to the IEEE compareQuietGreater operation.
- IEEE_QUIET_LE
  Elemental Module Intrinsic Function (Generic): Performs a non-signaling comparison for less than or equal. This is equivalent to the IEEE compareQuietLessEqual operation.
- IEEE_QUIET_LT
  Elemental Module Intrinsic Function (Generic): Performs a non-signaling comparison for less than. This is equivalent to the IEEE compareQuietLess operation.
- IEEE_QUIET_NE
  Elemental Module Intrinsic Function (Generic): Performs a non-signaling comparison for inequality. This is equivalent to the IEEE compareQuietNotEqual operation.
- IEEE_REAL
  Elemental Module Intrinsic Function (Generic): Enables conversion to REAL type.
- IEEE_REM
  Elemental Module Intrinsic Function (Generic): Returns the result of an exact remainder operation. This is equivalent to the IEEE remainder function.
- IEEE_RINT
  Elemental Module Intrinsic Function (Generic): Returns an integer value rounded according to the current rounding mode.
- IEEE_SCALB
  Elemental Module Intrinsic Function (Generic): Returns the exponent of a radix-independent floating-point number. This is equivalent to the IEEE scalb function.
- IEEE_SELECTED_REAL_KIND
  Transformational Module Intrinsic Function (Generic): Returns the value of the kind parameter of an IEEE REAL data type.
- IEEE_SET_FLAG
  Elemental Module Intrinsic Function (Generic): Assigns a value to an exception flag. This is a pure subroutine.
- IEEE_SET_HALTING_MODE
  Elemental Module Intrinsic Function (Generic): Controls halting or continuation after an exception. This is a pure subroutine.
- IEEE_SET_MODES
  Intrinsic Module Subroutine (Generic): Restores the current IEEE floating-point modes. This is an impure subroutine.
- IEEE_SET_ROUNDING_MODE
  Intrinsic Module Subroutine (Generic): Sets the IEEE rounding mode. This is an impure subroutine.
- IEEE_SET_STATUS
  Intrinsic Module Subroutine (Generic): Restores the state of the floating-point environment. This is an impure subroutine.
- IEEE_SET_UNDERFLOW_MODE
  Intrinsic Module Subroutine (Generic): Sets the current underflow mode. This is an impure subroutine.
- IEEE_SIGNALING_EQ
  Elemental Module Intrinsic Function (Generic): Performs a signaling comparison for equality. This is equivalent to the IEEE compareSignalingEqual operation.
- IEEE_SIGNALING_GE
  Elemental Module Intrinsic Function (Generic): Performs a signaling comparison for greater than or equal. This is equivalent to the IEEE compareSignalingGreaterEqual operation.
- IEEE_SIGNALING_GT
  Elemental Module Intrinsic Function (Generic): Performs a signaling comparison for greater than. This is equivalent to the IEEE compareSignalingGreater operation.
- IEEE_SIGNALING_LE
  Elemental Module Intrinsic Function (Generic): Performs a signaling comparison for less than or equal. This is equivalent to the IEEE compareSignalingLessEqual operation.
- IEEE_SIGNALING_LT
  Elemental Module Intrinsic Function (Generic): Performs a signaling comparison for less than. This is equivalent to the IEEE compareSignalingLess operation.
- IEEE_SIGNALING_NE
  Elemental Module Intrinsic Function (Generic): Performs a signaling comparison for inequality. This is equivalent to the IEEE compareSignalingNotEqual operation.
- IEEE_SIGNBIT
  Elemental Module Intrinsic Function (Generic): Tests to determine if the argument's sign bit is set. This is equivalent to the IEEE SignMinus operation.
- IEEE_SUPPORT_DATATYPE
  Inquiry Module Intrinsic Function (Generic): Returns whether the processor supports IEEE arithmetic.
- IEEE_SUPPORT_DENORMAL
  Inquiry Module Intrinsic Function (Generic): Returns whether the processor supports IEEE subnormal numbers.
- IEEE_SUPPORT_DIVIDE
  Inquiry Module Intrinsic Function (Generic): Returns whether the processor supports IEEE divide.
- IEEE_SUPPORT_FLAG
  Transformational Module Intrinsic Function (Generic): Returns whether the processor supports IEEE exceptions.
- IEEE_SUPPORT_HALTING
  Transformational Module Intrinsic Function (Generic): Returns whether the processor supports IEEE halting.
- IEEE_SUPPORT_INF
  Inquiry Module Intrinsic Function (Generic): Returns whether the processor supports IEEE infinities.
- IEEE_SUPPORT_IO
  Inquiry Module Intrinsic Function (Generic): Returns whether the processor supports IEEE base conversion rounding during formatted I/O.
- IEEE_SUPPORT_NAN
  Inquiry Module Intrinsic Function (Generic): Returns whether the processor supports IEEE Not-a-Number feature.
- IEEE_SUPPORT_ROUNDING
  Transformational Module Intrinsic Function (Generic): Returns whether the processor supports IEEE rounding mode.
- IEEE_SUPPORT_SQRT
  Inquiry Module Intrinsic Function (Generic): Returns whether the processor supports IEEE SQRT (square root).
- IEEE_SUPPORT_STANDARD
  Inquiry Module Intrinsic Function (Generic): Returns whether the processor supports IEEE features defined in the standard.
- IEEE_SUPPORT_SUBNORMAL
  Inquiry Module Intrinsic Function (Generic): Returns whether the processor supports IEEE subnormal numbers.
- IEEE_SUPPORT_UNDERFLOW_CONTROL
  Inquiry Module Intrinsic Function (Generic): Returns whether the processor supports the ability to control the underflow mode.
- IEEE_UNORDERED
  Elemental Module Intrinsic Function (Generic): Returns whether one or more of the arguments is Not-a-Number (NaN). This is equivalent to the IEEE unordered function.
- IEEE_VALUE
  Elemental Module Intrinsic Function (Generic): Creates an IEEE value.
- IEOR
  Elemental Intrinsic Function (Generic): Performs an exclusive OR on corresponding bits. This function can also be specified as XOR or IXOR.
- IERRNO
  Portability Function: Returns the number of the last detected error from any routines in the IFPORT module that return error codes.
- IF - Arithmetic
  Statement: Conditionally transfers control to one of three statements, based on the value of an arithmetic expression. The arithmetic IF statement is a deleted feature in the Fortran Standard. Intel® Fortran fully supports features deleted in the Fortran Standard.
- IF - Logical
  Statement: Conditionally executes one statement based on the value of a logical expression. (This statement was called a logical IF statement in FORTRAN 77.)
- IF Clause
  Parallel Directive Clause: Specifies a conditional expression. If the expression evaluates to .FALSE., the construct is not executed.
- IF Construct
  Statement: Conditionally executes one block of constructs or statements depending on the evaluation of a logical expression. (This construct was called a block IF statement in FORTRAN 77.)
- IF Directive Construct
  General Compiler Directive: A conditional compilation construct that begins with an IF or IF DEFINED directive. IF tests whether a logical expression is .TRUE. or .FALSE.. IF DEFINED tests whether a symbol has been defined.
- IF DEFINED Directive
  Statement: Marks the start of an IF Directive Construct.
- IFIX
  Elemental Intrinsic Function (Generic): Converts a single-precision real argument to an integer by truncating.
- IFLOATI, IFLOATJ
  Portability Functions: Convert an integer to single-precision real type.
- ILEN
  Inquiry Intrinsic Function (Generic): Returns the length (in bits) of the two's complement representation of an integer.
- IMAGE_INDEX
  Transformational Intrinsic Function (Generic): Converts cosubscripts to an image index.
- IMAGE_STATUS
  Elemental Intrinsic Function (Generic): Returns the execution status value of the specified image.
- IMPLICIT
  Statement: Overrides the default implicit typing rules for names. (The default data type is default INTEGER kind for names beginning with the letters I through N, and default REAL kind for names beginning with any other letter.) An IMPLICIT NONE statement overrides all implicit typing in a scoping unit, or it indicates that all dummy procedures and externals must explicitly be given the external attribute.
- IMPORT
  Statement: Controls accessibility of host entities in a submodule, module procedure, a contained procedure, a block construct, or in the interface body of an interface block.
- IMPURE
  Keyword: Asserts that a user-defined procedure has side effects.
- IN_REDUCTION
  Parallel Directive Clause: Specifies that a task participates in a reduction. The IN_REDUCTION clause is a reduction participating clause.
- INCLUDE
  Statement: Directs the compiler to stop reading statements from the current file and read statements in an included file or text module.
- INDEX
  Elemental Intrinsic Function (Generic): Returns the starting position of a substring within a string.
- INLINE, FORCEINLINE, and NOINLINE
  General Compiler Directives: Tell the compiler to perform the specified inlining on routines within statements or DO loops.
- INMAX
  Portability Function: Returns the maximum positive value for an integer.
- INQUIRE
  Statement: Returns information on the status of specified properties of a file, logical unit, or directory. It takes one of the following forms:
- INT
  Elemental Intrinsic Function (Generic): Converts a value to integer type.
- INTC
  Portability Function: Converts an INTEGER(4) argument to INTEGER(2) type.
- INT_PTR_KIND
  Inquiry Intrinsic Function (Specific): Returns the INTEGER KIND that will hold an address. This is a specific function that has no generic function associated with it. It cannot be passed as an actual argument.
- INTEGER Statement
  Statement: Specifies the INTEGER data type.
- INTEGER Directive
  General Compiler Directive: Specifies the default integer kind.
- INTENT
  Statement and Attribute: Specifies the intended use of one or more dummy arguments.
- INTERFACE
  Statement: Defines an explicit interface for an external or dummy procedure. It can also be used to define a generic name for procedures, a new operator for functions, and a new form of assignment for subroutines.
- INTERFACE TO
  Statement: Identifies a subprogram and its actual arguments before it is referenced or called.
- INTEROP
  OpenMP* Fortran Compiler Directive: Identifies a foreign runtime context and identifies runtime characteristics of that context, enabling interoperability with it. This feature is only available for ifx.
- INTRINSIC
  Statement and Attribute: Allows the specific name of an intrinsic procedure to be used as an actual argument.
- INUM
  Elemental Intrinsic Function (Specific): Converts a character string to an INTEGER(2) value. This function cannot be passed as an actual argument.
- IOR
  Elemental Intrinsic Function (Generic): Performs an inclusive OR on corresponding bits. This function can also be specified as OR.
- IPARITY
  Transformational Intrinsic Function (Generic): Returns the result of a bitwise exclusive OR operation.
- IRAND, IRANDM
  Portability Functions: Return random numbers in the range 0 through (2**31)-1, or 0 through (2**15)-1 if called without an argument.
- IRANGET
  Portability Subroutine: Returns the current seed.
- IRANSET
  Portability Subroutine: Sets the seed for the random number generator.
- IS_CONTIGUOUS
  Inquiry Intrinsic Function (Generic): Tests the contiguity of an array.
- IS_DEVICE_PTR Clause
  Parallel Directive Clause: Indicates that a list item is a device pointer currently in the device data environment and that it should be used directly.
- IS_IOSTAT_END
  Elemental Intrinsic Function (Generic): Tests for an end-of-file condition.
- IS_IOSTAT_EOR
  Elemental Intrinsic Function (Generic): Tests for an end-of-record condition.
- ISATTY
  Portability Function: Checks whether a logical unit number is a terminal.
- ISHA
  Elemental Intrinsic Function (Generic): Arithmetically shifts an integer left or right by a specified number of bits.
- ISHC
  Elemental Intrinsic Function (Generic): Rotates an integer left or right by specified number of bits. Bits shifted out one end are shifted in the other end. No bits are lost.
- ISHFT
  Elemental Intrinsic Function (Generic): Performs a logical shift.
- ISHFTC
  Elemental Intrinsic Function (Generic): Performs a circular shift of the rightmost bits.
- ISHL
  Elemental Intrinsic Function (Generic): Logically shifts an integer left or right by the specified bits. Zeros are shifted in from the opposite end.
- ISNAN
  Elemental Intrinsic Function (Generic): Tests whether IEEE* real (binary32, binary64, and binary128) numbers are Not-a-Number (NaN) values.
- ITIME
  Portability Subroutine: Returns the time in numeric form.
- IVDEP
  General Compiler Directive: Assists the compiler's dependence analysis of iterative DO loops.