### 8.125 `INT` — Convert to integer type

Description:
  Convert to integer type
Standard:
  Fortran 77 and later
Class:
  Elemental function
Syntax:
  `RESULT = INT(A [, KIND))`
Arguments:

  A | Shall be of type `INTEGER`, `REAL`, or `COMPLEX`.
  KIND | (Optional) An `INTEGER` initialization expression indicating the kind parameter of the result.

Return value:
  These functions return a `INTEGER` variable or array under the following rules:
  (A)
    If A is of type `INTEGER`, `INT(A) = A`
  (B)
    If A is of type `REAL` and |A| < 1, `INT(A)` equals `0`. If |A| \geq 1, then `INT(A)` equals the largest integer that does not exceed the range of A and whose sign is the same as the sign of A.
  (C)
    If A is of type `COMPLEX`, rule B is applied to the real part of A.
Example:

                program test_int
                  integer :: i = 42
                  complex :: z = (-3.7, 1.0)
                  print *, int(i)
                  print *, int(z), int(z,8)
                end program

Specific names:

  Name | Argument | Return type | Standard
  `INT(A)` | `REAL(4) A` | `INTEGER` | Fortran 77 and later
  `IFIX(A)` | `REAL(4) A` | `INTEGER` | Fortran 77 and later
  `IDINT(A)` | `REAL(8) A` | `INTEGER` | Fortran 77 and later