1 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
2 // Copyright (C) 2013 - Scilab Enterprises - Cedric Delamarre
4 // This file must be used under the terms of the CeCILL.
5 // This source file is licensed as described in the file COPYING, which
6 // you should have received as part of this distribution. The terms
7 // are also available at
8 // http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
11 // <-- JVM NOT MANDATORY -->
12 function checkCallOverload(mat)
13 assert_checkerror(mat, [], 999);
16 assert_checkequal(1:3, [1 2 3]);
17 assert_checkequal(1:1:3, [1 2 3]);
18 assert_checkequal(1:2:3, [1 3]);
19 assert_checkequal(3:-1:1, [3 2 1]);
20 assert_checkequal(3:-2:1, [3 1]);
21 assert_checkequal(3:1, []);
22 assert_checkequal(3:2:1, []);
23 assert_checkequal(1:0:3, []);
25 assert_checkequal(1:%inf, %nan);
26 assert_checkequal(1:%nan, %nan);
27 assert_checkequal(1:-%inf, []);
28 assert_checkequal(1:%inf:10, %nan);
29 assert_checkequal(1:%nan:10, %nan);
30 assert_checkequal(1:-%inf:10, []);
31 assert_checkequal(%inf:1, []);
32 assert_checkequal(%nan:1, %nan);
33 assert_checkequal(-%inf:1, %nan);
34 assert_checkequal(10:%inf:1, []);
35 assert_checkequal(10:%nan:1, %nan);
36 assert_checkequal(10:-%inf:1, %nan);
41 assert_checkequal(i1:i2:i8, int8([1,3,5,7]));
42 checkCallOverload("i1:i2:8");
43 assert_checkequal(i1:2:i8, int8([1,3,5,7]));
44 assert_checkequal(i1:2:8, int8([1,3,5,7]));
45 assert_checkequal(1:i2:i8, int8([1,3,5,7]));
46 assert_checkequal(1:i2:8, int8([1,3,5,7]));
47 assert_checkequal(1:2:i8, int8([1,3,5,7]));
48 assert_checkequal(1:2:8, [1,3,5,7]);
49 assert_checkequal(i1:i8, int8(1:8));
50 assert_checkequal(i1:8, int8(1:8));
51 assert_checkequal(1:i8, int8(1:8));
52 assert_checkequal(1:8, [1 2 3 4 5 6 7 8]);
56 assert_checkequal(i1:i2:i8, int8([1,3,5,7]));
57 checkCallOverload("i1:i2:ii8");
58 checkCallOverload("i1:ii2:i8");
59 checkCallOverload("i1:ii2:ii8");
60 checkCallOverload("ii1:i2:i8");
61 checkCallOverload("ii1:i2:ii8");
62 checkCallOverload("ii1:ii2:i8");
63 assert_checkequal(ii1:ii2:ii8, int16([1,3,5,7]));
66 checkCallOverload("t:t:t");
67 checkCallOverload("t:t:8");
68 checkCallOverload("t:2:%t");
69 checkCallOverload("t:2:8");
70 checkCallOverload("1:t:%t");
71 checkCallOverload("1:t:8");
72 assert_checkerror("1:2:t", [], 10000);
74 assert_checktrue(execstr("$:$:$", "errcatch") == 0);
75 assert_checktrue(execstr("$:$:8", "errcatch") == 0);
76 assert_checktrue(execstr("$:2:$", "errcatch") == 0);
77 assert_checktrue(execstr("$:2:8", "errcatch") == 0);
78 assert_checktrue(execstr("1:$:$", "errcatch") == 0);
79 assert_checktrue(execstr("1:$:8", "errcatch") == 0);
80 assert_checktrue(execstr("1:2:$", "errcatch") == 0);
81 assert_checktrue(execstr("1:2:8", "errcatch") == 0);
82 assert_checktrue(execstr("$:$", "errcatch") == 0);
83 assert_checktrue(execstr("$:8", "errcatch") == 0);
84 assert_checktrue(execstr("2:$", "errcatch") == 0);
85 assert_checktrue(execstr("2:8", "errcatch") == 0);
88 checkCallOverload("t:t:t");
89 checkCallOverload("t:t:8");
90 checkCallOverload("t:2:%t");
91 checkCallOverload("t:2:8");
92 checkCallOverload("1:t:%t");
93 checkCallOverload("1:t:8");
94 assert_checkerror("1:2:t", [], 10000);
97 checkCallOverload("t:t:t");
98 checkCallOverload("t:t:8");
99 checkCallOverload("t:2:%t");
100 checkCallOverload("t:2:8");
101 checkCallOverload("1:t:%t");
102 checkCallOverload("1:t:8");
103 assert_checkerror("1:2:t", [], 10000);