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

Please note that the recommended version of Scilab is 6.1.1. This page might be outdated.
See the recommended documentation of this function

Scilab help >> Elementary Functions > modulo


symmetric arithmetic remainder modulo m


positive arithmetic remainder modulo m

Calling Sequence

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



real or polynomial vector or matrix


real vector or matrix


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.


n = [1,2,10,15];
m = [2,2,3,5];

modulo(-3, 9)
modulo(10, -4)

pmodulo(-3, 9)
pmodulo(10, -6)
pmodulo(-10, -6)
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Tue Apr 02 17:36:21 CEST 2013