9.201 MOD — Remainder function

Description:

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

Standard:

Fortran 77 and later, has overloads that are GNU extensions

Class:

Elemental function

Syntax:

RESULT = MOD(A, P)

Arguments:
AShall be a scalar of type INTEGER or REAL.
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.)

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
See also:

MODULO — Modulo function