### 8.180 `NEAREST` — Nearest representable number

Description:
  `NEAREST(X, S)` returns the processor-representable number nearest to `X` in the direction indicated by the sign of `S`.
Standard:
  Fortran 95 and later
Class:
  Elemental function
Syntax:
  `RESULT = NEAREST(X, S)`
Arguments:

  X | Shall be of type `REAL`.
  S | (Optional) 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