* Bug #6693 fixed - modulo did not accept polynomial inputs. Help page was not updated.
[scilab.git] / scilab / modules / elementary_functions / tests / unit_tests / modulo.tst
1 // =============================================================================
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) 2013 - Scilab Enterprises - Bruno JOFRET
4 //
5 //  This file is distributed under the same license as the Scilab package.
6 // =============================================================================
7
8 // <-- CLI SHELL MODE -->
9
10 // unit tests for modulo() function
11 // =============================================================================
12
13 assert_checkerror("modulo()", msprintf(_("%s: Wrong number of input argument(s): %d expected.\n"),"modulo", 2));
14 assert_checkerror("modulo(''a'',1)", msprintf(_("%s: Wrong type for input argument #%d: A real expected.\n"), "modulo", 1));
15 assert_checkerror("modulo(1,''a'')", msprintf(_("%s: Wrong type for input argument #%d: A real expected.\n"), "modulo", 2));
16 assert_checkerror("modulo(%pi+%i,1)", msprintf(_("%s: Wrong type for input argument #%d: A real expected.\n"), "modulo", 1));
17 assert_checkerror("modulo(1,1+%i)", msprintf(_("%s: Wrong type for input argument #%d: A real expected.\n"), "modulo", 2));
18
19 n=[1,2,10,15];
20 m=[2,2,3,5];
21 r = modulo(n,m);
22 assert_checkequal(r, [1,0,1,0]);
23
24 n = 100 * rand(1,100);
25 m = 100 * rand(1,100);
26 r = modulo(n,m);
27 computed_r = n - m .* int (n ./ m);
28 assert_checkequal(r, computed_r);
29
30 assert_checkequal(modulo(%z^2,%z),0);