1 // =============================================================================
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) 2018 - Stéphane MOTTELET
5 // This file is distributed under the same license as the Scilab package.
6 // =============================================================================
8 // <-- CLI SHELL MODE -->
9 // <-- NO CHECK REF -->
11 // <-- Non-regression test for bug 14487 -->
13 // <-- Bugzilla URL -->
14 // http://bugzilla.scilab.org/14487
16 // <-- Short Description -->
17 // Matrix indexing is not coherent with MATLAB convention
25 assert_checkequal(size(x(i1)), [1 4]);
26 assert_checkequal(size(x(i1')), [4 1]);
27 assert_checkequal(size(x(i2)), [2 4]);
28 assert_checkequal(size(x(i3)), [2 2 2]);
30 x=rand(1,4); // row vector
34 assert_checkequal(size(x(i1)), [1 4]);
35 assert_checkequal(size(x(i1')), [1 4]);
36 assert_checkequal(size(x(i2)), [2 4]);
37 assert_checkequal(size(x(i3)), [2 2 2]);
39 x=rand(4,1); // column vector
43 assert_checkequal(size(x(i1)), [4 1]);
44 assert_checkequal(size(x(i1')), [4 1]);
45 assert_checkequal(size(x(i2)), [2 4]);
46 assert_checkequal(size(x(i3)), [2 2 2]);
48 x=rand(3,3); // matrix
52 assert_checkequal(size(x(i1)), [1 4]);
53 assert_checkequal(size(x(i1')), [4 1]);
54 assert_checkequal(size(x(i2)), [2 4]);
55 assert_checkequal(size(x(i3)), [2 2 2]);
57 x=rand(3,3,3); // hypermatrix
61 assert_checkequal(size(x(i1)), [1 4]);
62 assert_checkequal(size(x(i1')), [4 1]);
63 assert_checkequal(size(x(i2)), [2 4]);
64 assert_checkequal(size(x(i3)), [2 2 2]);
72 assert_checkequal(size(x(i1)), [1 4]);
73 assert_checkequal(size(x(i1')), [4 1]);
74 assert_checkequal(size(x(i2)), [2 4]);
75 assert_checkequal(size(x(i3)), [8 1]);
77 x=sparse(rand(1,4)); // row vector
81 assert_checkequal(size(x(i1)), [1 4]);
82 assert_checkequal(size(x(i1')), [1 4]);
83 assert_checkequal(size(x(i2)), [2 4]);
84 assert_checkequal(size(x(i3)), [8 1]);
86 x=sparse(rand(4,1)); // column vector
90 assert_checkequal(size(x(i1)), [4 1]);
91 assert_checkequal(size(x(i1')), [4 1]);
92 assert_checkequal(size(x(i2)), [2 4]);
93 assert_checkequal(size(x(i3)), [8 1]);
95 x=sparse(rand(3,3)); // matrix
99 assert_checkequal(size(x(i1)), [1 4]);
100 assert_checkequal(size(x(i1')), [4 1]);
101 assert_checkequal(size(x(i2)), [2 4]);
102 assert_checkequal(size(x(i3)), [8 1]);
107 x=sparse(rand()>0.5);
111 assert_checkequal(size(x(i1)), [1 4]);
112 assert_checkequal(size(x(i1')), [4 1]);
113 assert_checkequal(size(x(i2)), [2 4]);
114 assert_checkequal(size(x(i3)), [8 1]);
116 x=sparse(rand(1,4)>0.5); // row vector
120 assert_checkequal(size(x(i1)), [1 4]);
121 assert_checkequal(size(x(i1')), [1 4]);
122 assert_checkequal(size(x(i2)), [2 4]);
123 assert_checkequal(size(x(i3)), [8 1]);
125 x=sparse(rand(4,1)>0.5); // column vector
129 assert_checkequal(size(x(i1)), [4 1]);
130 assert_checkequal(size(x(i1')), [4 1]);
131 assert_checkequal(size(x(i2)), [2 4]);
132 assert_checkequal(size(x(i3)), [8 1]);
134 x=sparse(rand(3,3)>0.5); // matrix
138 assert_checkequal(size(x(i1)), [1 4]);
139 assert_checkequal(size(x(i1')), [4 1]);
140 assert_checkequal(size(x(i2)), [2 4]);
141 assert_checkequal(size(x(i3)), [8 1]);