### 8.177 `MOD` — Remainder function

Description:
  `MOD(A,P)` computes the remainder of the division of A by P.
Standard:
  Fortran 77 and later
Class:
  Elemental function
Syntax:
  `RESULT = MOD(A, P)`
Arguments:

  A | Shall be a scalar of type `INTEGER` or `REAL`.
  P | Shall be a scalar of the same type and kind as A and not equal to zero.

Return value:
  The return value is the result of `A - (INT(A/P) * P)`. The type and kind of the return value is the same as that of the arguments. The returned value has the same sign as A and a magnitude less than the magnitude of P.
Example:

                program test_mod
                  print *, mod(17,3)
                  print *, mod(17.5,5.5)
                  print *, mod(17.5d0,5.5)
                  print *, mod(17.5,5.5d0)

                  print *, mod(-17,3)
                  print *, mod(-17.5,5.5)
                  print *, mod(-17.5d0,5.5)
                  print *, mod(-17.5,5.5d0)

                  print *, mod(17,-3)
                  print *, mod(17.5,-5.5)
                  print *, mod(17.5d0,-5.5)
                  print *, mod(17.5,-5.5d0)
                end program test_mod

Specific names:

  Name | Arguments | Return type | Standard
  `MOD(A,P)` | `INTEGER A,P` | `INTEGER` | Fortran 95 and later
  `AMOD(A,P)` | `REAL(4) A,P` | `REAL(4)` | Fortran 95 and later
  `DMOD(A,P)` | `REAL(8) A,P` | `REAL(8)` | Fortran 95 and later

See also:
  MODULO