* Bug #12813 fixed - Elementary_functions: open flipdim() to all data types
[scilab.git] / scilab / modules / elementary_functions / tests / unit_tests / flipdim.dia.ref
1 // =============================================================================
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) 2013 - Scilab Enterprises - Paul Bignier
4 // Copyright (C) 2012 - Scilab Enterprises - Sylvestre Ledru
5 //
6 //  This file is distributed under the same license as the Scilab package.
7 // =============================================================================
8 //
9 // <-- CLI SHELL MODE -->
10 //
11 // <-- ENGLISH IMPOSED -->
12 //
13 // Along dimension 1:
14 x = [1 2 3 4; 5 6 7 8];
15 dim = 1;
16 y = flipdim(x, dim);
17 assert_checkequal([5 6 7 8; 1 2 3 4], y);
18 // Along dimension 2:
19 dim = 2;
20 y = flipdim(x, dim);
21 assert_checkequal([4 3 2 1; 8 7 6 5], y);
22 // Along dimension 3:
23 x = matrix(1:24, [3 2 4]);
24 dim = 3;
25 ref = hypermat([3 2 4], [19;20;21;22;23;24;13;14;15;16;17;18;7;8;9;10;11;12;1;2;3;4;5;6]);
26 y = flipdim(x, dim);
27 assert_checkequal(y, ref);
28 // Complexes:
29 y = flipdim(x*%i, dim);
30 assert_checkequal(y, ref*%i);
31 // Integer-encoded numbers:
32 y = flipdim(int16(x), dim);
33 assert_checkequal(y, int16(ref));
34 // Booleans:
35 ref_bool = hypermat([3 2 4], [%T;%T;%T;%T;%T;%T;%T;%T;%T;%T;%T;%T;%F;%F;%F;%T;%T;%F;%F;%F;%F;%F;%F;%F]);
36 y = flipdim(x < 15, 2);
37 assert_checkequal(y, ref_bool);
38 // Texts:
39 x_txt = matrix(strsplit("a":"x", 1:23), 4, 6);
40 x_txt = x_txt + x_txt;
41 ref_txt = ["uu" "qq" "mm" "ii" "ee" "aa"; "vv" "rr" "nn" "jj" "ff" "bb";
42  "ww" "ss" "oo" "kk" "gg" "cc";
43   "xx" "tt" "pp" "ll" "hh" "dd" ];
44 y = flipdim(x_txt, 2);
45 assert_checkequal(y, ref_txt);
46 // Polynomials:
47 x_pol = inv_coeff([x(:,:,1) x(:,:,2) x(:,:,3) x(:,:,4) [0;1;2]], 2);
48 X = poly(0, "x");
49 ref_pol = [3+12*X+21*X^2 6+15*X+24*X^2 9+18*X+2*X^2;
50 2+11*X+20*X^2 5+14*X+23*X^2 8+17*X+X^2;
51 1+10*X+19*X^2 4+13*X+22*X^2 7+16*X ];
52 y = flipdim(x_pol, 1);
53 assert_checkequal(y, ref_pol);
54 // Rationals:
55 r = (x_pol) ./ X;
56 ref_r = ref_pol ./ X;
57 y = flipdim(r, 1);
58 assert_checkequal(y, ref_r);
59 // Hypermatrices:
60 x = matrix(1:48, [3 2 4 2]);
61 dim = 3;
62 ref = hypermat([3 2 4 2], [19;20;21;22;23;24;13;14;15;16;17;18;7;8;9;10;11;12;1;2;3;4;5;6;43;44;45;46;47;48;37;38;39;40;41;42;31;32;33;34;35;36;25;26;27;28;29;30]);
63 y = flipdim(x, dim);
64 assert_checkequal(y, ref);