NEAREST (The GNU Fortran Compiler)

### 8.213 `NEAREST` — Nearest representable number ¶

Synopsis:

  `RESULT = NEAREST(X, S)`

Description:

  `NEAREST(X, S)` returns the processor-representable number nearest to `X` in the direction indicated by the sign of `S`.

Class:

  Elemental function

Arguments:

  X | Shall be of type `REAL`.
  S | Shall be of type `REAL` and not equal to zero.

Return value:

  The return value is of the same type as `X`. If `S` is positive, `NEAREST` returns the processor-representable number greater than `X` and nearest to it. If `S` is negative, `NEAREST` returns the processor-representable number smaller than `X` and nearest to it.

Example:

      program test_nearest
        real :: x, y
        x = nearest(42.0, 1.0)
        y = nearest(42.0, -1.0)
        write (*,"(3(G20.15))") x, y, x - y
      end program test_nearest

Standard:

  Fortran 90 and later