# Fortran Wiki modulo

## Description

modulo(a,p) computes the a modulo p.

## Standard

Fortran 95 and later

## Class

Elemental function

## Syntax

result = modulo(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

## Return value

The type and kind of the result are those of the arguments.

• If a and p are of type integer: modulo(a,p) has the value of a - floor (real(a) / real(p)) * p.
• If a and p are of type real: modulo(a,p) has the value of a - floor (a / p) * p.

In all cases, if p is zero the result is processor-dependent.

## Example

program test_modulo
print *, modulo(17,3)        ! yields 2
print *, modulo(17.5,5.5)

print *, modulo(-17,3)
print *, modulo(-17.5,5.5)

print *, modulo(17,-3)
print *, modulo(17.5,-5.5)
end program

category: intrinsics