Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Change language to: Français - Português - 日本語 - Русский

See the recommended documentation of this function

Scilab help >> Elementary Functions > modulo

# modulo

symmetric arithmetic remainder modulo m

# pmodulo

positive arithmetic remainder modulo m

### Calling Sequence

`i = modulo(n,m)`
`i = pmodulo(n,m)`

### Arguments

n

real vector or matrix

m

real vector or matrix

### Description

`modulo` computes ```i = n (modulo m)``` i.e. remainder of `n` divided by `m` (`n` and `m` are integers).

`i = n - m .* int (n ./ m)`. Here the answer may be negative if `n` or `m` are negative.

`pmodulo` computes ```i = n - m .* floor (n ./ m)``` , the answer is positive or zero.

`modulo(x,0)` returns an error message: "Division by zero...". With ieee(2), `modulo(x,0)` returns `%nan`.

`pmodulo(x,0)` returns an error message: "Division by zero...". With ieee(2), `pmodulo(x,0)` returns `%nan`.

### Examples

```n=[1,2,10,15];m=[2,2,3,5];
modulo(n,m)

modulo(-3,9)
pmodulo(-3,9)```