8.206 MOD — Remainder function

Synopsis:

RESULT = MOD(A, P)

Description:

MOD(A,P) computes the remainder of the division of A by P.

Class:

Elemental function

Arguments:
AShall be a scalar of type INTEGER, REAL or UNSIGNED.
PShall be a scalar of the same type and kind as A and not equal to zero. (As a GNU extension, arguments of different kinds are permitted.)
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. (As a GNU extension, kind is the largest kind of the actual arguments.)

Notes:

MOD and MODULO yield identical results if their arguments are UNSIGNED.

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:
NameArgumentsReturn typeStandard
MOD(A,P)INTEGER A,PINTEGERFortran 77 and later
AMOD(A,P)REAL(4) A,PREAL(4)Fortran 77 and later
DMOD(A,P)REAL(8) A,PREAL(8)Fortran 77 and later
BMOD(A,P)INTEGER(1) A,PINTEGER(1)GNU extension
IMOD(A,P)INTEGER(2) A,PINTEGER(2)GNU extension
JMOD(A,P)INTEGER(4) A,PINTEGER(4)GNU extension
KMOD(A,P)INTEGER(8) A,PINTEGER(8)GNU extension
Standard:

Fortran 77 and later, has overloads that are GNU extensions. Extension for UNSIGNED.

See also:

MODULO — Modulo function