Fix modulo call on non-double datatype. Add unitary test.
[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
17 n=[1,2,10,15];
18 m=[2,2,3,5];
19 r = modulo(n,m);
20 assert_checkequal(r, [1,0,1,0]);
21
22 n = 100 * rand(1,100);
23 m = 100 * rand(1,100);
24 r = modulo(n,m);
25 computed_r = n - m .* int (n ./ m);
26 assert_checkequal(r, computed_r);