Next: MODULO, Previous: MINVAL, Up: Intrinsic Procedures [Contents][Index]

`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*:`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. (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*:Name Arguments Return type Standard `MOD(A,P)`

`INTEGER A,P`

`INTEGER`

Fortran 77 and later `AMOD(A,P)`

`REAL(4) A,P`

`REAL(4)`

Fortran 77 and later `DMOD(A,P)`

`REAL(8) A,P`

`REAL(8)`

Fortran 77 and later `BMOD(A,P)`

`INTEGER(1) A,P`

`INTEGER(1)`

GNU extension `IMOD(A,P)`

`INTEGER(2) A,P`

`INTEGER(2)`

GNU extension `JMOD(A,P)`

`INTEGER(4) A,P`

`INTEGER(4)`

GNU extension `KMOD(A,P)`

`INTEGER(8) A,P`

`INTEGER(8)`

GNU extension *See also*:

Next: MODULO, Previous: MINVAL, Up: Intrinsic Procedures [Contents][Index]