6e94f3f9671f68bd86ac32a65dfffa7c8d83dc81
[scilab.git] / scilab / modules / elementary_functions / tests / unit_tests / permute.dia.ref
1 // =============================================================================
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) 2013 - Scilab Enterprises - Paul Bignier
4 //
5 //  This file is distributed under the same license as the Scilab package.
6 // =============================================================================
7 //
8 // <-- CLI SHELL MODE -->
9 //
10 // With a real matrix
11 x = [1 2 3; 4 5 6];
12 y = permute(x, [2 1]);
13 assert_checkequal(y, x');
14 // With an integer matrix
15 x = int32(x);
16 y = permute(x, [2 1]);
17 assert_checkequal(y, x');
18 // With a string matrix
19 x = string(x);
20 y = permute(x, [2 1]);
21 assert_checkequal(y, x');
22 // With a real hypermatrix
23 x = matrix(1:12, [2, 3, 2]);
24 y = permute(x, [3 1 2]);
25 refY(:, :, 1) = [1 2; 7 8];
26 refY(:, :, 2) = [3 4; 9 10];
27 refY(:, :, 3) = [5 6; 11 12];
28 assert_checkequal(y, refY);
29 // With an integer hypermatrix
30 x = int32(x);
31 y = permute(x, [3 1 2]);
32 refY = int32(refY);
33 assert_checkequal(y, refY);
34 // With a string hypermatrix
35 x = string(x);
36 y = permute(x, [3 1 2]);
37 refY = string(refY);
38 assert_checkequal(y, refY);
39 // Error checks
40 refMsg = msprintf(_("%s: Wrong size for input argument #%d: At least the size of input argument #%d expected.\n"), "permute", 2, 1);
41 assert_checkerror("permute(x, [1 2]);", refMsg);
42 refMsg = msprintf(_("%s: Wrong size for input argument #%d.\n"), "permute", 2);
43 assert_checkerror("permute(x, [1 2 4]);", refMsg);
44 assert_checkerror("permute(x, [1 2 3 5]);", refMsg);