comparison equal and no equal
[scilab.git] / scilab / modules / ast / tests / unit_tests / comparisonnonequal.tst
1 // ============================================================================
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) 2014 - Scilab Enterprises - Sylvain GENIN
4 //
5 //  This file is distributed under the same license as the Scilab package.
6 // ============================================================================
7
8 // <-- JVM NOT MANDATORY -->
9
10 s = %s;
11
12 empty = [];
13
14 r = 2;
15 R = [1,2;3,4];
16 R3(:,:,1) = R;
17 R3(:,:,2) = R';
18 c = 1 + 2*%i;
19 C = [1+2*%i,2+4*%i;3+6*%i,4+8*%i];
20 C3(:,:,1) = C;
21 C3(:,:,2) = C';
22
23 e = eye();
24 ec = (5+%i) * eye();
25
26 p = 1 + %s - %s**2;
27 pc = 1 + %s - %s**2 + ( 2 - 3 * %s + 4 * %s**2 ) * %i;
28 P = [2*p, 2;4*p,-5*p];
29 PC = [2*pc, 2;4*pc,-5*pc];
30
31 SP = sparse([1,2;4,5;3,10],[1,2,3]);
32 SPC = sparse([1,2;4,5;3,10],[1,2,3]) * ( 1 + 4*%i);
33 SPB = sparse([1,2;2,1],[%t;%t],[2,2]);
34 SP1 = sparse([1,1],[10]);
35 SPC1 = sparse([1,1],[1]) * ( 2 + 6*%i);
36
37 i8 = int8(-8);
38 ui8 = uint8(8);
39 I8 = int8([-8 2 ; -24 -32]);
40 UI8 = uint8([8 2 ; 24 32]);
41
42 I16 = int16([-16 2 ; -48 -64]);
43 UI16 = uint16([16 2 ; 48 64]);
44 i16 = int16(-16);
45 ui16 = uint16(16);
46
47 i32 = int32(-32);
48 ui32 = uint32(32);
49 I32 = int32([-32 2 ; -96 -128]);
50 UI32 = uint32([32 2 ; 96 128]);
51
52 str = "string";
53 STR = ["string1" "string2";"string3" "string4"];
54
55 b = %f;
56 B = [%t %f;%f %t];
57
58 assert_checkequal(empty <> empty, %f);
59 assert_checkequal(empty <> r, %t);
60 assert_checkequal(empty <> c, %t);
61 assert_checkequal(empty <> R, %t);
62 assert_checkequal(empty <> C, %t);
63 assert_checkequal(empty <> e, %t);
64 assert_checkequal(empty <> ec, %t);
65 assert_checkequal(empty <> p, %t);
66 assert_checkequal(empty <> pc, %t);
67 assert_checkequal(empty <> P, %t);
68 assert_checkequal(empty <> PC, %t);
69 assert_checkequal(empty <> SP, %t);
70 assert_checkequal(empty <> SPC, %t);
71 assert_checkequal(empty <> SP1, %t);
72 assert_checkequal(empty <> SPC1, %t);
73 assert_checkequal(empty <> i8, %t);
74 assert_checkequal(empty <> I8, %t);
75 assert_checkequal(empty <> ui8, %t);
76 assert_checkequal(empty <> UI8, %t);
77 assert_checkequal(empty <> i16, %t);
78 assert_checkequal(empty <> I16, %t);
79 assert_checkequal(empty <> ui16, %t);
80 assert_checkequal(empty <> UI16, %t);
81 assert_checkequal(empty <> i32, %t);
82 assert_checkequal(empty <> I32, %t);
83 assert_checkequal(empty <> ui32, %t);
84 assert_checkequal(empty <> UI32, %t);
85 assert_checkequal(empty <> str, %t);
86 assert_checkequal(empty <> STR, %t);
87 assert_checkequal(empty <> b, %t);
88 assert_checkequal(empty <> B, %t);
89 assert_checkequal(empty <> SPB, %t);
90
91 assert_checkequal(r <> empty, %t);
92 assert_checkequal(r <> r, %f);
93 assert_checkequal(r <> c, %t);
94 assert_checkequal(r <> R, [%t,%f;%t,%t]);
95 assert_checkequal(r <> C, [%t,%t;%t,%t]);
96 assert_checkequal(r <> e, %t);
97 assert_checkequal(r <> ec, %t);
98 assert_checkequal(r <> p, %t);
99 assert_checkequal(r <> pc, %t);
100 assert_checkequal(r <> P, [%t,%f;%t,%t]);
101 assert_checkequal(r <> PC, [%t,%f;%t,%t]);
102 assert_checkequal(r <> SP, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10]));
103 assert_checkequal(r <> SPC, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10]));
104 assert_checkequal(r <> SP1, sparse([1,1],%t,[1,1]));
105 assert_checkequal(r <> SPC1, sparse([1,1],%t,[1,1]));
106 assert_checkequal(r <> i8, %t);
107 assert_checkequal(r <> I8, [%t,%f;%t,%t]);
108 assert_checkequal(r <> ui8, %t);
109 assert_checkequal(r <> UI8, [%t,%f;%t,%t]);
110 assert_checkequal(r <> i16, %t);
111 assert_checkequal(r <> I16, [%t,%f;%t,%t]);
112 assert_checkequal(r <> ui16, %t);
113 assert_checkequal(r <> UI16, [%t,%f;%t,%t]);
114 assert_checkequal(r <> i32, %t);
115 assert_checkequal(r <> I32, [%t,%f;%t,%t]);
116 assert_checkequal(r <> ui32, %t);
117 assert_checkequal(r <> UI32, [%t,%f;%t,%t]);
118 assert_checkequal(r <> str, %t);
119 assert_checkequal(r <> STR, %t);
120 assert_checkequal(r <> b, %t);
121 assert_checkequal(r <> B, %t);
122 assert_checkequal(r <> SPB, %t);
123
124 assert_checkequal(c <> empty, %t);
125 assert_checkequal(c <> r, %t);
126 assert_checkequal(c <> c, %f);
127 assert_checkequal(c <> R, [%t,%t;%t,%t]);
128 assert_checkequal(c <> C, [%f,%t;%t,%t]);
129 assert_checkequal(c <> e, %t);
130 assert_checkequal(c <> ec, %t);
131 assert_checkequal(c <> p, %t);
132 assert_checkequal(c <> pc, %t);
133 assert_checkequal(c <> P, [%t,%t;%t,%t]);
134 assert_checkequal(c <> PC, [%t,%t;%t,%t]);
135 assert_checkequal(c <> SP, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10]));
136 assert_checkequal(c <> SPC, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10]));
137 assert_checkequal(c <> SP1, sparse([1,1],%t,[1,1]));
138 assert_checkequal(c <> SPC1, sparse([1,1],%t,[1,1]));
139 assert_checkequal(c <> i8, %t);
140 assert_checkequal(c <> I8, [%t,%t;%t,%t]);
141 assert_checkequal(c <> ui8, %t);
142 assert_checkequal(c <> UI8, [%t,%t;%t,%t]);
143 assert_checkequal(c <> i16, %t);
144 assert_checkequal(c <> I16, [%t,%t;%t,%t]);
145 assert_checkequal(c <> ui16, %t);
146 assert_checkequal(c <> UI16, [%t,%t;%t,%t]);
147 assert_checkequal(c <> i32, %t);
148 assert_checkequal(c <> I32, [%t,%t;%t,%t]);
149 assert_checkequal(c <> ui32, %t);
150 assert_checkequal(c <> UI32, [%t,%t;%t,%t]);
151 assert_checkequal(c <> str, %t);
152 assert_checkequal(c <> STR, %t);
153 assert_checkequal(c <> b, %t);
154 assert_checkequal(c <> B, %t);
155 assert_checkequal(c <> SPB, %t);
156
157 assert_checkequal(R <> empty, %t);
158 assert_checkequal(R <> r, [%t,%f;%t,%t]);
159 assert_checkequal(R <> c, [%t,%t;%t,%t]);
160 assert_checkequal(R <> R, [%f,%f;%f,%f]);
161 assert_checkequal(R <> C, [%t,%t;%t,%t]);
162 assert_checkequal(R <> e, [%f,%t;%t,%t]);
163 assert_checkequal(R <> ec, [%t,%t;%t,%t]);
164 assert_checkequal(R <> p, [%t,%t;%t,%t]);
165 assert_checkequal(R <> pc, [%t,%t;%t,%t]);
166 assert_checkequal(R <> P, [%t,%f;%t,%t]);
167 assert_checkequal(R <> PC, [%t,%f;%t,%t]);
168 assert_checkequal(R <> SP, %t);
169 assert_checkequal(R <> SPC, %t);
170 assert_checkequal(R <> SP1, %t);
171 assert_checkequal(R <> SPC1, %t);
172 assert_checkequal(R <> i8, [%t,%t;%t,%t]);
173 assert_checkequal(R <> I8, [%t,%f;%t,%t]);
174 assert_checkequal(R <> ui8, [%t,%t;%t,%t]);
175 assert_checkequal(R <> UI8, [%t,%f;%t,%t]);
176 assert_checkequal(R <> i16, [%t,%t;%t,%t]);
177 assert_checkequal(R <> I16, [%t,%f;%t,%t]);
178 assert_checkequal(R <> ui16, [%t,%t;%t,%t]);
179 assert_checkequal(R <> UI16, [%t,%f;%t,%t]);
180 assert_checkequal(R <> i32, [%t,%t;%t,%t]);
181 assert_checkequal(R <> I32, [%t,%f;%t,%t]);
182 assert_checkequal(R <> ui32, [%t,%t;%t,%t]);
183 assert_checkequal(R <> UI32, [%t,%f;%t,%t]);
184 assert_checkequal(R <> str, %t);
185 assert_checkequal(R <> STR, %t);
186 assert_checkequal(R <> b, %t);
187 assert_checkequal(R <> B, %t);
188 assert_checkequal(R <> SPB, %t);
189
190 assert_checkequal(C <> empty, %t);
191 assert_checkequal(C <> r, [%t,%t;%t,%t]);
192 assert_checkequal(C <> c, [%f,%t;%t,%t]);
193 assert_checkequal(C <> R, [%t,%t;%t,%t]);
194 assert_checkequal(C <> C, [%f,%f;%f,%f]);
195 assert_checkequal(C <> e, [%t,%t;%t,%t]);
196 assert_checkequal(C <> ec, [%t,%t;%t,%t]);
197 assert_checkequal(C <> p, [%t,%t;%t,%t]);
198 assert_checkequal(C <> pc, [%t,%t;%t,%t]);
199 assert_checkequal(C <> P, [%t,%t;%t,%t]);
200 assert_checkequal(C <> PC, [%t,%t;%t,%t]);
201 assert_checkequal(C <> SP, %t);
202 assert_checkequal(C <> SPC, %t);
203 assert_checkequal(C <> SP1, %t);
204 assert_checkequal(C <> SPC1, %t);
205 assert_checkequal(C <> i8, [%t,%t;%t,%t]);
206 assert_checkequal(C <> I8, [%t,%t;%t,%t]);
207 assert_checkequal(C <> ui8, [%t,%t;%t,%t]);
208 assert_checkequal(C <> UI8, [%t,%t;%t,%t]);
209 assert_checkequal(C <> i16, [%t,%t;%t,%t]);
210 assert_checkequal(C <> I16, [%t,%t;%t,%t]);
211 assert_checkequal(C <> ui16, [%t,%t;%t,%t]);
212 assert_checkequal(C <> UI16, [%t,%t;%t,%t]);
213 assert_checkequal(C <> i32, [%t,%t;%t,%t]);
214 assert_checkequal(C <> I32, [%t,%t;%t,%t]);
215 assert_checkequal(C <> ui32, [%t,%t;%t,%t]);
216 assert_checkequal(C <> UI32, [%t,%t;%t,%t]);
217 assert_checkequal(C <> str, %t);
218 assert_checkequal(C <> STR, %t);
219 assert_checkequal(C <> b, %t);
220 assert_checkequal(C <> B, %t);
221 assert_checkequal(C <> SPB, %t);
222
223 assert_checkequal(e <> empty, %t);
224 assert_checkequal(e <> r, %t);
225 assert_checkequal(e <> c, %t);
226 assert_checkequal(e <> R, [%f,%t;%t,%t]);
227 assert_checkequal(e <> C, [%t,%t;%t,%t]);
228 assert_checkequal(e <> e, %f);
229 assert_checkequal(e <> ec, %t);
230 assert_checkequal(e <> p, %t);
231 assert_checkequal(e <> pc, %t);
232 assert_checkequal(e <> P, [%t,%t;%t,%t]);
233 assert_checkequal(e <> PC, [%t,%t;%t,%t]);
234 assert_checkequal(e <> SP, %t);
235 assert_checkequal(e <> SPC, %t);
236 assert_checkequal(e <> SP1, %t);
237 assert_checkequal(e <> SPC1, %t);
238 assert_checkequal(e <> i8, %t);
239 assert_checkequal(e <> I8, [%t,%t;%t,%t]);
240 assert_checkequal(e <> ui8, %t);
241 assert_checkequal(e <> UI8, [%t,%t;%t,%t]);
242 assert_checkequal(e <> i16, %t);
243 assert_checkequal(e <> I16, [%t,%t;%t,%t]);
244 assert_checkequal(e <> ui16, %t);
245 assert_checkequal(e <> UI16, [%t,%t;%t,%t]);
246 assert_checkequal(e <> i32, %t);
247 assert_checkequal(e <> I32, [%t,%t;%t,%t]);
248 assert_checkequal(e <> ui32, %t);
249 assert_checkequal(e <> UI32, [%t,%t;%t,%t]);
250 assert_checkequal(e <> str, %t);
251 assert_checkequal(e <> STR, %t);
252 assert_checkequal(e <> b, %t);
253 assert_checkequal(e <> B, %t);
254 assert_checkequal(e <> SPB, %t);
255
256 assert_checkequal(ec <> empty, %t);
257 assert_checkequal(ec <> r, %t);
258 assert_checkequal(ec <> c, %t);
259 assert_checkequal(ec <> R, [%t,%t;%t,%t]);
260 assert_checkequal(ec <> C, [%t,%t;%t,%t]);
261 assert_checkequal(ec <> e, %t);
262 assert_checkequal(ec <> ec, %f);
263 assert_checkequal(ec <> p, %t);
264 assert_checkequal(ec <> pc, %t);
265 assert_checkequal(ec <> P, [%t,%t;%t,%t]);
266 assert_checkequal(ec <> PC, [%t,%t;%t,%t]);
267 assert_checkequal(ec <> SP, %t);
268 assert_checkequal(ec <> SPC, %t);
269 assert_checkequal(ec <> SP1, %t);
270 assert_checkequal(ec <> SPC1, %t);
271 assert_checkequal(ec <> i8, %t);
272 assert_checkequal(ec <> I8, [%t,%t;%t,%t]);
273 assert_checkequal(ec <> ui8, %t);
274 assert_checkequal(ec <> UI8, [%t,%t;%t,%t]);
275 assert_checkequal(ec <> i16, %t);
276 assert_checkequal(ec <> I16, [%t,%t;%t,%t]);
277 assert_checkequal(ec <> ui16, %t);
278 assert_checkequal(ec <> UI16, [%t,%t;%t,%t]);
279 assert_checkequal(ec <> i32, %t);
280 assert_checkequal(ec <> I32, [%t,%t;%t,%t]);
281 assert_checkequal(ec <> ui32, %t);
282 assert_checkequal(ec <> UI32, [%t,%t;%t,%t]);
283 assert_checkequal(ec <> str, %t);
284 assert_checkequal(ec <> STR, %t);
285 assert_checkequal(ec <> b, %t);
286 assert_checkequal(ec <> B, %t);
287 assert_checkequal(ec <> SPB, %t);
288
289 assert_checkequal(p <> empty, %t);
290 assert_checkequal(p <> r, %t);
291 assert_checkequal(p <> c, %t);
292 assert_checkequal(p <> R, [%t,%t;%t,%t]);
293 assert_checkequal(p <> C, [%t,%t;%t,%t]);
294 assert_checkequal(p <> e, %t);
295 assert_checkequal(p <> ec, %t);
296 assert_checkequal(p <> p, %f);
297 assert_checkequal(p <> pc, %t);
298 assert_checkequal(p <> P, [%t,%t;%t,%t]);
299 assert_checkequal(p <> PC, [%t,%t;%t,%t]);
300 assert_checkequal(p <> i8, %t);
301 assert_checkequal(p <> I8, [%t,%t;%t,%t]);
302 assert_checkequal(p <> ui8, %t);
303 assert_checkequal(p <> UI8, [%t,%t;%t,%t]);
304 assert_checkequal(p <> i16, %t);
305 assert_checkequal(p <> I16, [%t,%t;%t,%t]);
306 assert_checkequal(p <> ui16, %t);
307 assert_checkequal(p <> UI16, [%t,%t;%t,%t]);
308 assert_checkequal(p <> i32, %t);
309 assert_checkequal(p <> I32, [%t,%t;%t,%t]);
310 assert_checkequal(p <> ui32, %t);
311 assert_checkequal(p <> UI32, [%t,%t;%t,%t]);
312 assert_checkequal(p <> str, %t);
313 assert_checkequal(p <> STR, %t);
314 assert_checkequal(p <> b, %t);
315 assert_checkequal(p <> B, %t);
316
317 assert_checkequal(pc <> empty, %t);
318 assert_checkequal(pc <> r, %t);
319 assert_checkequal(pc <> c, %t);
320 assert_checkequal(pc <> R, [%t,%t;%t,%t]);
321 assert_checkequal(pc <> C, [%t,%t;%t,%t]);
322 assert_checkequal(pc <> e, %t);
323 assert_checkequal(pc <> ec, %t);
324 assert_checkequal(pc <> p, %t);
325 assert_checkequal(pc <> pc, %f);
326 assert_checkequal(pc <> P, [%t,%t;%t,%t]);
327 assert_checkequal(pc <> PC, [%t,%t;%t,%t]);
328 assert_checkequal(pc <> i8, %t);
329 assert_checkequal(pc <> I8, [%t,%t;%t,%t]);
330 assert_checkequal(pc <> ui8, %t);
331 assert_checkequal(pc <> UI8, [%t,%t;%t,%t]);
332 assert_checkequal(pc <> i16, %t);
333 assert_checkequal(pc <> I16, [%t,%t;%t,%t]);
334 assert_checkequal(pc <> ui16, %t);
335 assert_checkequal(pc <> UI16, [%t,%t;%t,%t]);
336 assert_checkequal(pc <> i32, %t);
337 assert_checkequal(pc <> I32, [%t,%t;%t,%t]);
338 assert_checkequal(pc <> ui32, %t);
339 assert_checkequal(pc <> UI32, [%t,%t;%t,%t]);
340 assert_checkequal(pc <> str, %t);
341 assert_checkequal(pc <> STR, %t);
342 assert_checkequal(pc <> b, %t);
343 assert_checkequal(pc <> B, %t);
344
345 assert_checkequal(P <> empty, %t);
346 assert_checkequal(P <> r, [%t,%f;%t,%t]);
347 assert_checkequal(P <> c, [%t,%t;%t,%t]);
348 assert_checkequal(P <> R, [%t,%f;%t,%t]);
349 assert_checkequal(P <> C, [%t,%t;%t,%t]);
350 assert_checkequal(P <> e, [%t,%t;%t,%t]);
351 assert_checkequal(P <> ec, [%t,%t;%t,%t]);
352 assert_checkequal(P <> p, [%t,%t;%t,%t]);
353 assert_checkequal(P <> pc, [%t,%t;%t,%t]);
354 assert_checkequal(P <> P, [%f,%f;%f,%f]);
355 assert_checkequal(P <> PC, [%t,%f;%t,%t]);
356 assert_checkequal(P <> i8, [%t,%t;%t,%t]);
357 assert_checkequal(P <> I8, [%t,%f;%t,%t]);
358 assert_checkequal(P <> ui8, [%t,%t;%t,%t]);
359 assert_checkequal(P <> UI8, [%t,%f;%t,%t]);
360 assert_checkequal(P <> i16, [%t,%t;%t,%t]);
361 assert_checkequal(P <> I16, [%t,%f;%t,%t]);
362 assert_checkequal(P <> ui16, [%t,%t;%t,%t]);
363 assert_checkequal(P <> UI16, [%t,%f;%t,%t]);
364 assert_checkequal(P <> i32, [%t,%t;%t,%t]);
365 assert_checkequal(P <> I32, [%t,%f;%t,%t]);
366 assert_checkequal(P <> ui32, [%t,%t;%t,%t]);
367 assert_checkequal(P <> UI32, [%t,%f;%t,%t]);
368 assert_checkequal(P <> str, %t);
369 assert_checkequal(P <> STR, %t);
370 assert_checkequal(P <> b, %t);
371 assert_checkequal(P <> B, %t);
372
373 assert_checkequal(PC <> empty, %t);
374 assert_checkequal(PC <> r, [%t,%f;%t,%t]);
375 assert_checkequal(PC <> c, [%t,%t;%t,%t]);
376 assert_checkequal(PC <> R, [%t,%f;%t,%t]);
377 assert_checkequal(PC <> C, [%t,%t;%t,%t]);
378 assert_checkequal(PC <> e, [%t,%t;%t,%t]);
379 assert_checkequal(PC <> ec, [%t,%t;%t,%t]);
380 assert_checkequal(PC <> p, [%t,%t;%t,%t]);
381 assert_checkequal(PC <> pc, [%t,%t;%t,%t]);
382 assert_checkequal(PC <> P, [%t,%f;%t,%t]);
383 assert_checkequal(PC <> PC, [%f,%f;%f,%f]);
384 assert_checkequal(PC <> i8, [%t,%t;%t,%t]);
385 assert_checkequal(PC <> I8, [%t,%f;%t,%t]);
386 assert_checkequal(PC <> ui8, [%t,%t;%t,%t]);
387 assert_checkequal(PC <> UI8, [%t,%f;%t,%t]);
388 assert_checkequal(PC <> i16, [%t,%t;%t,%t]);
389 assert_checkequal(PC <> I16, [%t,%f;%t,%t]);
390 assert_checkequal(PC <> ui16, [%t,%t;%t,%t]);
391 assert_checkequal(PC <> UI16, [%t,%f;%t,%t]);
392 assert_checkequal(PC <> i32, [%t,%t;%t,%t]);
393 assert_checkequal(PC <> I32, [%t,%f;%t,%t]);
394 assert_checkequal(PC <> ui32, [%t,%t;%t,%t]);
395 assert_checkequal(PC <> UI32, [%t,%f;%t,%t]);
396 assert_checkequal(PC <> str, %t);
397 assert_checkequal(PC <> STR, %t);
398 assert_checkequal(PC <> b, %t);
399 assert_checkequal(PC <> B, %t);
400
401 assert_checkequal(SP <> empty, %t);
402 assert_checkequal(SP <> r, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10]));
403 assert_checkequal(SP <> c, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10]));
404 assert_checkequal(SP <> R, %t);
405 assert_checkequal(SP <> C, %t);
406 assert_checkequal(SP <> e, %t);
407 assert_checkequal(SP <> ec, %t);
408 assert_checkequal(SP <> SP, sparse([1,1],[%f],[4,10]));
409 assert_checkequal(SP <> SPC, sparse([1,2;3,10;4,5],[%t;%t;%t],[4,10]));
410 assert_checkequal(SP <> SP1, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10]));
411 assert_checkequal(SP <> SPC1, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10]));
412 assert_checkequal(SP <> i8, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10]));
413 assert_checkequal(SP <> I8, %t);
414 assert_checkequal(SP <> ui8, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10]));
415 assert_checkequal(SP <> UI8, %t);
416 assert_checkequal(SP <> i16, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10]));
417 assert_checkequal(SP <> I16, %t);
418 assert_checkequal(SP <> ui16, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10]));
419 assert_checkequal(SP <> UI16, %t);
420 assert_checkequal(SP <> i32, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10]));
421 assert_checkequal(SP <> I32, %t);
422 assert_checkequal(SP <> ui32, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10]));
423 assert_checkequal(SP <> UI32, %t);
424 assert_checkequal(SP <> str, %t);
425 assert_checkequal(SP <> STR, %t);
426 assert_checkequal(SP <> b, %t);
427 assert_checkequal(SP <> B, %t);
428 assert_checkequal(SP <> SPB, %t);
429
430 assert_checkequal(SPC <> empty, %t);
431 assert_checkequal(SPC <> r, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10]));
432 assert_checkequal(SPC <> c, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10]));
433 assert_checkequal(SPC <> R, %t);
434 assert_checkequal(SPC <> C, %t);
435 assert_checkequal(SPC <> e, %t);
436 assert_checkequal(SPC <> ec, %t);
437 assert_checkequal(SPC <> SP, sparse([1,2;3,10;4,5],[%t;%t;%t],[4,10]));
438 assert_checkequal(SPC <> SPC, sparse([1,1],[%f],[4,10]));
439 assert_checkequal(SPC <> SP1, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10]));
440 assert_checkequal(SPC <> SPC1, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10]));
441 assert_checkequal(SPC <> i8, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10]));
442 assert_checkequal(SPC <> I8, %t);
443 assert_checkequal(SPC <> ui8, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10]));
444 assert_checkequal(SPC <> UI8, %t);
445 assert_checkequal(SPC <> i16, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10]));
446 assert_checkequal(SPC <> I16, %t);
447 assert_checkequal(SPC <> ui16, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10]));
448 assert_checkequal(SPC <> UI16, %t);
449 assert_checkequal(SPC <> i32, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10]));
450 assert_checkequal(SPC <> I32, %t);
451 assert_checkequal(SPC <> ui32, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10]));
452 assert_checkequal(SPC <> UI32, %t);
453 assert_checkequal(SPC <> str, %t);
454 assert_checkequal(SPC <> STR, %t);
455 assert_checkequal(SPC <> b, %t);
456 assert_checkequal(SPC <> B, %t);
457 assert_checkequal(SPC <> SPB, %t);
458
459 assert_checkequal(SP1 <> empty, %t);
460 assert_checkequal(SP1 <> r, sparse([1,1],%t,[1,1]));
461 assert_checkequal(SP1 <> c, sparse([1,1],%t,[1,1]));
462 assert_checkequal(SP1 <> R, %t);
463 assert_checkequal(SP1 <> C, %t);
464 assert_checkequal(SP1 <> e, %t);
465 assert_checkequal(SP1 <> ec, %t);
466 assert_checkequal(SP1 <> SP, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10]));
467 assert_checkequal(SP1 <> SPC, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10]));
468 assert_checkequal(SP1 <> SP1, sparse([1,1],[%f],[1,1]));
469 assert_checkequal(SP1 <> SPC1, sparse([1,1],%t,[1,1]));
470 assert_checkequal(SP1 <> i8, sparse([1,1],%t,[1,1]));
471 assert_checkequal(SP1 <> I8, %t);
472 assert_checkequal(SP1 <> ui8, sparse([1,1],%t,[1,1]));
473 assert_checkequal(SP1 <> UI8, %t);
474 assert_checkequal(SP1 <> i16, sparse([1,1],%t,[1,1]));
475 assert_checkequal(SP1 <> I16, %t);
476 assert_checkequal(SP1 <> ui16, sparse([1,1],%t,[1,1]));
477 assert_checkequal(SP1 <> UI16, %t);
478 assert_checkequal(SP1 <> i32, sparse([1,1],%t,[1,1]));
479 assert_checkequal(SP1 <> I32, %t);
480 assert_checkequal(SP1 <> ui32, sparse([1,1],%t,[1,1]));
481 assert_checkequal(SP1 <> UI32, %t);
482 assert_checkequal(SP1 <> str, %t);
483 assert_checkequal(SP1 <> STR, %t);
484 assert_checkequal(SP1 <> b, %t);
485 assert_checkequal(SP1 <> B, %t);
486 assert_checkequal(SP1 <> SPB, %t);
487
488 assert_checkequal(SPC1 <> empty, %t);
489 assert_checkequal(SPC1 <> r, sparse([1,1],%t,[1,1]));
490 assert_checkequal(SPC1 <> c, sparse([1,1],%t,[1,1]));
491 assert_checkequal(SPC1 <> R, %t);
492 assert_checkequal(SPC1 <> C, %t);
493 assert_checkequal(SPC1 <> e, %t);
494 assert_checkequal(SPC1 <> ec, %t);
495 assert_checkequal(SPC1 <> SP, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10]));
496 assert_checkequal(SPC1 <> SPC, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10]));
497 assert_checkequal(SPC1 <> SP1, sparse([1,1],%t,[1,1]));
498 assert_checkequal(SPC1 <> SPC1, sparse([1,1],[%f],[1,1]));
499 assert_checkequal(SPC1 <> i8, sparse([1,1],%t,[1,1]));
500 assert_checkequal(SPC1 <> I8, %t);
501 assert_checkequal(SPC1 <> ui8, sparse([1,1],%t,[1,1]));
502 assert_checkequal(SPC1 <> UI8, %t);
503 assert_checkequal(SPC1 <> i16, sparse([1,1],%t,[1,1]));
504 assert_checkequal(SPC1 <> I16, %t);
505 assert_checkequal(SPC1 <> ui16, sparse([1,1],%t,[1,1]));
506 assert_checkequal(SPC1 <> UI16, %t);
507 assert_checkequal(SPC1 <> i32, sparse([1,1],%t,[1,1]));
508 assert_checkequal(SPC1 <> I32, %t);
509 assert_checkequal(SPC1 <> ui32, sparse([1,1],%t,[1,1]));
510 assert_checkequal(SPC1 <> UI32, %t);
511 assert_checkequal(SPC1 <> str, %t);
512 assert_checkequal(SPC1 <> STR, %t);
513 assert_checkequal(SPC1 <> b, %t);
514 assert_checkequal(SPC1 <> B, %t);
515 assert_checkequal(SPC1 <> SPB, %t);
516
517 assert_checkequal(i8 <> empty, %t);
518 assert_checkequal(i8 <> r, %t);
519 assert_checkequal(i8 <> c, %t);
520 assert_checkequal(i8 <> R, [%t,%t;%t,%t]);
521 assert_checkequal(i8 <> C, [%t,%t;%t,%t]);
522 assert_checkequal(i8 <> e, %t);
523 assert_checkequal(i8 <> ec, %t);
524 assert_checkequal(i8 <> p, %t);
525 assert_checkequal(i8 <> pc, %t);
526 assert_checkequal(i8 <> P, [%t,%t;%t,%t]);
527 assert_checkequal(i8 <> PC, [%t,%t;%t,%t]);
528 assert_checkequal(i8 <> SP, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10]));
529 assert_checkequal(i8 <> SPC, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10]));
530 assert_checkequal(i8 <> SP1, sparse([1,1],%t,[1,1]));
531 assert_checkequal(i8 <> SPC1, sparse([1,1],%t,[1,1]));
532 assert_checkequal(i8 <> i8, %f);
533 assert_checkequal(i8 <> I8, [%f,%t;%t,%t]);
534 assert_checkequal(i8 <> ui8, %t);
535 assert_checkequal(i8 <> UI8, [%t,%t;%t,%t]);
536 assert_checkequal(i8 <> i16, %t);
537 assert_checkequal(i8 <> I16, [%t,%t;%t,%t]);
538 assert_checkequal(i8 <> ui16, %t);
539 assert_checkequal(i8 <> UI16, [%t,%t;%t,%t]);
540 assert_checkequal(i8 <> i32, %t);
541 assert_checkequal(i8 <> I32, [%t,%t;%t,%t]);
542 assert_checkequal(i8 <> ui32, %t);
543 assert_checkequal(i8 <> UI32, [%t,%t;%t,%t]);
544 assert_checkequal(i8 <> str, %t);
545 assert_checkequal(i8 <> STR, %t);
546 assert_checkequal(i8 <> b, %t);
547 assert_checkequal(i8 <> B, [%t,%t;%t,%t]);
548 assert_checkequal(i8 <> SPB, %t);
549
550 assert_checkequal(I8 <> empty, %t);
551 assert_checkequal(I8 <> r, [%t,%f;%t,%t]);
552 assert_checkequal(I8 <> c, [%t,%t;%t,%t]);
553 assert_checkequal(I8 <> R, [%t,%f;%t,%t]);
554 assert_checkequal(I8 <> C, [%t,%t;%t,%t]);
555 assert_checkequal(I8 <> e, [%t,%t;%t,%t]);
556 assert_checkequal(I8 <> ec, [%t,%t;%t,%t]);
557 assert_checkequal(I8 <> p, [%t,%t;%t,%t]);
558 assert_checkequal(I8 <> pc, [%t,%t;%t,%t]);
559 assert_checkequal(I8 <> P, [%t,%f;%t,%t]);
560 assert_checkequal(I8 <> PC, [%t,%f;%t,%t]);
561 assert_checkequal(I8 <> SP, %t);
562 assert_checkequal(I8 <> SPC, %t);
563 assert_checkequal(I8 <> SP1, %t);
564 assert_checkequal(I8 <> SPC1, %t);
565 assert_checkequal(I8 <> i8, [%f,%t;%t,%t]);
566 assert_checkequal(I8 <> I8, [%f,%f;%f,%f]);
567 assert_checkequal(I8 <> ui8, [%t,%t;%t,%t]);
568 assert_checkequal(I8 <> UI8, [%t,%f;%t,%t]);
569 assert_checkequal(I8 <> i16, [%t,%t;%t,%t]);
570 assert_checkequal(I8 <> I16, [%t,%f;%t,%t]);
571 assert_checkequal(I8 <> ui16, [%t,%t;%t,%t]);
572 assert_checkequal(I8 <> UI16, [%t,%f;%t,%t]);
573 assert_checkequal(I8 <> i32, [%t,%t;%t,%f]);
574 assert_checkequal(I8 <> I32, [%t,%f;%t,%t]);
575 assert_checkequal(I8 <> ui32, [%t,%t;%t,%t]);
576 assert_checkequal(I8 <> UI32, [%t,%f;%t,%t]);
577 assert_checkequal(I8 <> str, %t);
578 assert_checkequal(I8 <> STR, %t);
579 assert_checkequal(I8 <> b, [%t,%t;%t,%t]);
580 assert_checkequal(I8 <> B, [%t,%t;%t,%t]);
581 assert_checkequal(I8 <> SPB, %t);
582
583 assert_checkequal(ui8 <> empty, %t);
584 assert_checkequal(ui8 <> r, %t);
585 assert_checkequal(ui8 <> c, %t);
586 assert_checkequal(ui8 <> R, [%t,%t;%t,%t]);
587 assert_checkequal(ui8 <> C, [%t,%t;%t,%t]);
588 assert_checkequal(ui8 <> e, %t);
589 assert_checkequal(ui8 <> ec, %t);
590 assert_checkequal(ui8 <> p, %t);
591 assert_checkequal(ui8 <> pc, %t);
592 assert_checkequal(ui8 <> P, [%t,%t;%t,%t]);
593 assert_checkequal(ui8 <> PC, [%t,%t;%t,%t]);
594 assert_checkequal(ui8 <> SP, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10]));
595 assert_checkequal(ui8 <> SPC, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10]));
596 assert_checkequal(ui8 <> SP1, sparse([1,1],%t,[1,1]));
597 assert_checkequal(ui8 <> SPC1, sparse([1,1],%t,[1,1]));
598 assert_checkequal(ui8 <> i8, %t);
599 assert_checkequal(ui8 <> I8, [%t,%t;%t,%t]);
600 assert_checkequal(ui8 <> ui8, %f);
601 assert_checkequal(ui8 <> UI8, [%f,%t;%t,%t]);
602 assert_checkequal(ui8 <> i16, %t);
603 assert_checkequal(ui8 <> I16, [%t,%t;%t,%t]);
604 assert_checkequal(ui8 <> ui16, %t);
605 assert_checkequal(ui8 <> UI16, [%t,%t;%t,%t]);
606 assert_checkequal(ui8 <> i32, %t);
607 assert_checkequal(ui8 <> I32, [%t,%t;%t,%t]);
608 assert_checkequal(ui8 <> ui32, %t);
609 assert_checkequal(ui8 <> UI32, [%t,%t;%t,%t]);
610 assert_checkequal(ui8 <> str, %t);
611 assert_checkequal(ui8 <> STR, %t);
612 assert_checkequal(ui8 <> b, %t);
613 assert_checkequal(ui8 <> B, [%t,%t;%t,%t]);
614 assert_checkequal(ui8 <> SPB, %t);
615
616 assert_checkequal(UI8 <> empty, %t);
617 assert_checkequal(UI8 <> r, [%t,%f;%t,%t]);
618 assert_checkequal(UI8 <> c, [%t,%t;%t,%t]);
619 assert_checkequal(UI8 <> R, [%t,%f;%t,%t]);
620 assert_checkequal(UI8 <> C, [%t,%t;%t,%t]);
621 assert_checkequal(UI8 <> e, [%t,%t;%t,%t]);
622 assert_checkequal(UI8 <> ec, [%t,%t;%t,%t]);
623 assert_checkequal(UI8 <> p, [%t,%t;%t,%t]);
624 assert_checkequal(UI8 <> pc, [%t,%t;%t,%t]);
625 assert_checkequal(UI8 <> P, [%t,%f;%t,%t]);
626 assert_checkequal(UI8 <> PC, [%t,%f;%t,%t]);
627 assert_checkequal(UI8 <> SP, %t);
628 assert_checkequal(UI8 <> SPC, %t);
629 assert_checkequal(UI8 <> SP1, %t);
630 assert_checkequal(UI8 <> SPC1, %t);
631 assert_checkequal(UI8 <> i8, [%t,%t;%t,%t]);
632 assert_checkequal(UI8 <> I8, [%t,%f;%t,%t]);
633 assert_checkequal(UI8 <> ui8, [%f,%t;%t,%t]);
634 assert_checkequal(UI8 <> UI8, [%f,%f;%f,%f]);
635 assert_checkequal(UI8 <> i16, [%t,%t;%t,%t]);
636 assert_checkequal(UI8 <> I16, [%t,%f;%t,%t]);
637 assert_checkequal(UI8 <> ui16, [%t,%t;%t,%t]);
638 assert_checkequal(UI8 <> UI16, [%t,%f;%t,%t]);
639 assert_checkequal(UI8 <> i32, [%t,%t;%t,%t]);
640 assert_checkequal(UI8 <> I32, [%t,%f;%t,%t]);
641 assert_checkequal(UI8 <> ui32, [%t,%t;%t,%f]);
642 assert_checkequal(UI8 <> UI32, [%t,%f;%t,%t]);
643 assert_checkequal(UI8 <> str, %t);
644 assert_checkequal(UI8 <> STR, %t);
645 assert_checkequal(UI8 <> b, [%t,%t;%t,%t]);
646 assert_checkequal(UI8 <> B, [%t,%t;%t,%t]);
647 assert_checkequal(UI8 <> SPB, %t);
648
649 assert_checkequal(i16 <> empty, %t);
650 assert_checkequal(i16 <> r, %t);
651 assert_checkequal(i16 <> c, %t);
652 assert_checkequal(i16 <> R, [%t,%t;%t,%t]);
653 assert_checkequal(i16 <> C, [%t,%t;%t,%t]);
654 assert_checkequal(i16 <> e, %t);
655 assert_checkequal(i16 <> ec, %t);
656 assert_checkequal(i16 <> p, %t);
657 assert_checkequal(i16 <> pc, %t);
658 assert_checkequal(i16 <> P, [%t,%t;%t,%t]);
659 assert_checkequal(i16 <> PC, [%t,%t;%t,%t]);
660 assert_checkequal(i16 <> SP, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10]));
661 assert_checkequal(i16 <> SPC, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10]));
662 assert_checkequal(i16 <> SP1, sparse([1,1],%t,[1,1]));
663 assert_checkequal(i16 <> SPC1, sparse([1,1],%t,[1,1]));
664 assert_checkequal(i16 <> i8, %t);
665 assert_checkequal(i16 <> I8, [%t,%t;%t,%t]);
666 assert_checkequal(i16 <> ui8, %t);
667 assert_checkequal(i16 <> UI8, [%t,%t;%t,%t]);
668 assert_checkequal(i16 <> i16, %f);
669 assert_checkequal(i16 <> I16, [%f,%t;%t,%t]);
670 assert_checkequal(i16 <> ui16, %t);
671 assert_checkequal(i16 <> UI16, [%t,%t;%t,%t]);
672 assert_checkequal(i16 <> i32, %t);
673 assert_checkequal(i16 <> I32, [%t,%t;%t,%t]);
674 assert_checkequal(i16 <> ui32, %t);
675 assert_checkequal(i16 <> UI32, [%t,%t;%t,%t]);
676 assert_checkequal(i16 <> str, %t);
677 assert_checkequal(i16 <> STR, %t);
678 assert_checkequal(i16 <> b, %t);
679 assert_checkequal(i16 <> B, [%t,%t;%t,%t]);
680 assert_checkequal(i16 <> SPB, %t);
681
682 assert_checkequal(I16 <> empty, %t);
683 assert_checkequal(I16 <> r, [%t,%f;%t,%t]);
684 assert_checkequal(I16 <> c, [%t,%t;%t,%t]);
685 assert_checkequal(I16 <> R, [%t,%f;%t,%t]);
686 assert_checkequal(I16 <> C, [%t,%t;%t,%t]);
687 assert_checkequal(I16 <> e, [%t,%t;%t,%t]);
688 assert_checkequal(I16 <> ec, [%t,%t;%t,%t]);
689 assert_checkequal(I16 <> p, [%t,%t;%t,%t]);
690 assert_checkequal(I16 <> pc, [%t,%t;%t,%t]);
691 assert_checkequal(I16 <> P, [%t,%f;%t,%t]);
692 assert_checkequal(I16 <> PC, [%t,%f;%t,%t]);
693 assert_checkequal(I16 <> SP, %t);
694 assert_checkequal(I16 <> SPC, %t);
695 assert_checkequal(I16 <> SP1, %t);
696 assert_checkequal(I16 <> SPC1, %t);
697 assert_checkequal(I16 <> i8, [%t,%t;%t,%t]);
698 assert_checkequal(I16 <> I8, [%t,%f;%t,%t]);
699 assert_checkequal(I16 <> ui8, [%t,%t;%t,%t]);
700 assert_checkequal(I16 <> UI8, [%t,%f;%t,%t]);
701 assert_checkequal(I16 <> i16, [%f,%t;%t,%t]);
702 assert_checkequal(I16 <> I16, [%f,%f;%f,%f]);
703 assert_checkequal(I16 <> ui16, [%t,%t;%t,%t]);
704 assert_checkequal(I16 <> UI16, [%t,%f;%t,%t]);
705 assert_checkequal(I16 <> i32, [%t,%t;%t,%t]);
706 assert_checkequal(I16 <> I32, [%t,%f;%t,%t]);
707 assert_checkequal(I16 <> ui32, [%t,%t;%t,%t]);
708 assert_checkequal(I16 <> UI32, [%t,%f;%t,%t]);
709 assert_checkequal(I16 <> str, %t);
710 assert_checkequal(I16 <> STR, %t);
711 assert_checkequal(I16 <> b, [%t,%t;%t,%t]);
712 assert_checkequal(I16 <> B, [%t,%t;%t,%t]);
713 assert_checkequal(I16 <> SPB, %t);
714
715 assert_checkequal(ui16 <> empty, %t);
716 assert_checkequal(ui16 <> r, %t);
717 assert_checkequal(ui16 <> c, %t);
718 assert_checkequal(ui16 <> R, [%t,%t;%t,%t]);
719 assert_checkequal(ui16 <> C, [%t,%t;%t,%t]);
720 assert_checkequal(ui16 <> e, %t);
721 assert_checkequal(ui16 <> ec, %t);
722 assert_checkequal(ui16 <> p, %t);
723 assert_checkequal(ui16 <> pc, %t);
724 assert_checkequal(ui16 <> P, [%t,%t;%t,%t]);
725 assert_checkequal(ui16 <> PC, [%t,%t;%t,%t]);
726 assert_checkequal(ui16 <> SP, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10]));
727 assert_checkequal(ui16 <> SPC, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10]));
728 assert_checkequal(ui16 <> SP1, sparse([1,1],%t,[1,1]));
729 assert_checkequal(ui16 <> SPC1, sparse([1,1],%t,[1,1]));
730 assert_checkequal(ui16 <> i8, %t);
731 assert_checkequal(ui16 <> I8, [%t,%t;%t,%t]);
732 assert_checkequal(ui16 <> ui8, %t);
733 assert_checkequal(ui16 <> UI8, [%t,%t;%t,%t]);
734 assert_checkequal(ui16 <> i16, %t);
735 assert_checkequal(ui16 <> I16, [%t,%t;%t,%t]);
736 assert_checkequal(ui16 <> ui16, %f);
737 assert_checkequal(ui16 <> UI16, [%f,%t;%t,%t]);
738 assert_checkequal(ui16 <> i32, %t);
739 assert_checkequal(ui16 <> I32, [%t,%t;%t,%t]);
740 assert_checkequal(ui16 <> ui32, %t);
741 assert_checkequal(ui16 <> UI32, [%t,%t;%t,%t]);
742 assert_checkequal(ui16 <> str, %t);
743 assert_checkequal(ui16 <> STR, %t);
744 assert_checkequal(ui16 <> b, %t);
745 assert_checkequal(ui16 <> B, [%t,%t;%t,%t]);
746 assert_checkequal(ui16 <> SPB, %t);
747
748 assert_checkequal(UI16 <> empty, %t);
749 assert_checkequal(UI16 <> r, [%t,%f;%t,%t]);
750 assert_checkequal(UI16 <> c, [%t,%t;%t,%t]);
751 assert_checkequal(UI16 <> R, [%t,%f;%t,%t]);
752 assert_checkequal(UI16 <> C, [%t,%t;%t,%t]);
753 assert_checkequal(UI16 <> e, [%t,%t;%t,%t]);
754 assert_checkequal(UI16 <> ec, [%t,%t;%t,%t]);
755 assert_checkequal(UI16 <> p, [%t,%t;%t,%t]);
756 assert_checkequal(UI16 <> pc, [%t,%t;%t,%t]);
757 assert_checkequal(UI16 <> P, [%t,%f;%t,%t]);
758 assert_checkequal(UI16 <> PC, [%t,%f;%t,%t]);
759 assert_checkequal(UI16 <> SP, %t);
760 assert_checkequal(UI16 <> SPC, %t);
761 assert_checkequal(UI16 <> SP1, %t);
762 assert_checkequal(UI16 <> SPC1, %t);
763 assert_checkequal(UI16 <> i8, [%t,%t;%t,%t]);
764 assert_checkequal(UI16 <> I8, [%t,%f;%t,%t]);
765 assert_checkequal(UI16 <> ui8, [%t,%t;%t,%t]);
766 assert_checkequal(UI16 <> UI8, [%t,%f;%t,%t]);
767 assert_checkequal(UI16 <> i16, [%t,%t;%t,%t]);
768 assert_checkequal(UI16 <> I16, [%t,%f;%t,%t]);
769 assert_checkequal(UI16 <> ui16, [%f,%t;%t,%t]);
770 assert_checkequal(UI16 <> UI16, [%f,%f;%f,%f]);
771 assert_checkequal(UI16 <> i32, [%t,%t;%t,%t]);
772 assert_checkequal(UI16 <> I32, [%t,%f;%t,%t]);
773 assert_checkequal(UI16 <> ui32, [%t,%t;%t,%t]);
774 assert_checkequal(UI16 <> UI32, [%t,%f;%t,%t]);
775 assert_checkequal(UI16 <> str, %t);
776 assert_checkequal(UI16 <> STR, %t);
777 assert_checkequal(UI16 <> b, [%t,%t;%t,%t]);
778 assert_checkequal(UI16 <> B, [%t,%t;%t,%t]);
779 assert_checkequal(UI16 <> SPB, %t);
780
781 assert_checkequal(i32 <> empty, %t);
782 assert_checkequal(i32 <> r, %t);
783 assert_checkequal(i32 <> c, %t);
784 assert_checkequal(i32 <> R, [%t,%t;%t,%t]);
785 assert_checkequal(i32 <> C, [%t,%t;%t,%t]);
786 assert_checkequal(i32 <> e, %t);
787 assert_checkequal(i32 <> ec, %t);
788 assert_checkequal(i32 <> p, %t);
789 assert_checkequal(i32 <> pc, %t);
790 assert_checkequal(i32 <> P, [%t,%t;%t,%t]);
791 assert_checkequal(i32 <> PC, [%t,%t;%t,%t]);
792 assert_checkequal(i32 <> SP, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10]));
793 assert_checkequal(i32 <> SPC, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10]));
794 assert_checkequal(i32 <> SP1, sparse([1,1],%t,[1,1]));
795 assert_checkequal(i32 <> SPC1, sparse([1,1],%t,[1,1]));
796 assert_checkequal(i32 <> i8, %t);
797 assert_checkequal(i32 <> I8, [%t,%t;%t,%f]);
798 assert_checkequal(i32 <> ui8, %t);
799 assert_checkequal(i32 <> UI8, [%t,%t;%t,%t]);
800 assert_checkequal(i32 <> i16, %t);
801 assert_checkequal(i32 <> I16, [%t,%t;%t,%t]);
802 assert_checkequal(i32 <> ui16, %t);
803 assert_checkequal(i32 <> UI16, [%t,%t;%t,%t]);
804 assert_checkequal(i32 <> i32, %f);
805 assert_checkequal(i32 <> I32, [%f,%t;%t,%t]);
806 assert_checkequal(i32 <> ui32, %t);
807 assert_checkequal(i32 <> UI32, [%t,%t;%t,%t]);
808 assert_checkequal(i32 <> str, %t);
809 assert_checkequal(i32 <> STR, %t);
810 assert_checkequal(i32 <> b, %t);
811 assert_checkequal(i32 <> B, [%t,%t;%t,%t]);
812 assert_checkequal(i32 <> SPB, %t);
813
814 assert_checkequal(I32 <> empty, %t);
815 assert_checkequal(I32 <> r, [%t,%f;%t,%t]);
816 assert_checkequal(I32 <> c, [%t,%t;%t,%t]);
817 assert_checkequal(I32 <> R, [%t,%f;%t,%t]);
818 assert_checkequal(I32 <> C, [%t,%t;%t,%t]);
819 assert_checkequal(I32 <> e, [%t,%t;%t,%t]);
820 assert_checkequal(I32 <> ec, [%t,%t;%t,%t]);
821 assert_checkequal(I32 <> p, [%t,%t;%t,%t]);
822 assert_checkequal(I32 <> pc, [%t,%t;%t,%t]);
823 assert_checkequal(I32 <> P, [%t,%f;%t,%t]);
824 assert_checkequal(I32 <> PC, [%t,%f;%t,%t]);
825 assert_checkequal(I32 <> SP, %t);
826 assert_checkequal(I32 <> SPC, %t);
827 assert_checkequal(I32 <> SP1, %t);
828 assert_checkequal(I32 <> SPC1, %t);
829 assert_checkequal(I32 <> i8, [%t,%t;%t,%t]);
830 assert_checkequal(I32 <> I8, [%t,%f;%t,%t]);
831 assert_checkequal(I32 <> ui8, [%t,%t;%t,%t]);
832 assert_checkequal(I32 <> UI8, [%t,%f;%t,%t]);
833 assert_checkequal(I32 <> i16, [%t,%t;%t,%t]);
834 assert_checkequal(I32 <> I16, [%t,%f;%t,%t]);
835 assert_checkequal(I32 <> ui16, [%t,%t;%t,%t]);
836 assert_checkequal(I32 <> UI16, [%t,%f;%t,%t]);
837 assert_checkequal(I32 <> i32, [%f,%t;%t,%t]);
838 assert_checkequal(I32 <> I32, [%f,%f;%f,%f]);
839 assert_checkequal(I32 <> ui32, [%t,%t;%t,%t]);
840 assert_checkequal(I32 <> UI32, [%t,%f;%t,%t]);
841 assert_checkequal(I32 <> str, %t);
842 assert_checkequal(I32 <> STR, %t);
843 assert_checkequal(I32 <> b, [%t,%t;%t,%t]);
844 assert_checkequal(I32 <> B, [%t,%t;%t,%t]);
845 assert_checkequal(I32 <> SPB, %t);
846
847 assert_checkequal(ui32 <> empty, %t);
848 assert_checkequal(ui32 <> r, %t);
849 assert_checkequal(ui32 <> c, %t);
850 assert_checkequal(ui32 <> R, [%t,%t;%t,%t]);
851 assert_checkequal(ui32 <> C, [%t,%t;%t,%t]);
852 assert_checkequal(ui32 <> e, %t);
853 assert_checkequal(ui32 <> ec, %t);
854 assert_checkequal(ui32 <> p, %t);
855 assert_checkequal(ui32 <> pc, %t);
856 assert_checkequal(ui32 <> P, [%t,%t;%t,%t]);
857 assert_checkequal(ui32 <> PC, [%t,%t;%t,%t]);
858 assert_checkequal(ui32 <> SP, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10]));
859 assert_checkequal(ui32 <> SPC, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10]));
860 assert_checkequal(ui32 <> SP1, sparse([1,1],%t,[1,1]));
861 assert_checkequal(ui32 <> SPC1, sparse([1,1],%t,[1,1]));
862 assert_checkequal(ui32 <> i8, %t);
863 assert_checkequal(ui32 <> I8, [%t,%t;%t,%t]);
864 assert_checkequal(ui32 <> ui8, %t);
865 assert_checkequal(ui32 <> UI8, [%t,%t;%t,%f]);
866 assert_checkequal(ui32 <> i16, %t);
867 assert_checkequal(ui32 <> I16, [%t,%t;%t,%t]);
868 assert_checkequal(ui32 <> ui16, %t);
869 assert_checkequal(ui32 <> UI16, [%t,%t;%t,%t]);
870 assert_checkequal(ui32 <> i32, %t);
871 assert_checkequal(ui32 <> I32, [%t,%t;%t,%t]);
872 assert_checkequal(ui32 <> ui32, %f);
873 assert_checkequal(ui32 <> UI32, [%f,%t;%t,%t]);
874 assert_checkequal(ui32 <> str, %t);
875 assert_checkequal(ui32 <> STR, %t);
876 assert_checkequal(ui32 <> b, %t);
877 assert_checkequal(ui32 <> B, [%t,%t;%t,%t]);
878 assert_checkequal(ui32 <> SPB, %t);
879
880 assert_checkequal(UI32 <> empty, %t);
881 assert_checkequal(UI32 <> r, [%t,%f;%t,%t]);
882 assert_checkequal(UI32 <> c, [%t,%t;%t,%t]);
883 assert_checkequal(UI32 <> R, [%t,%f;%t,%t]);
884 assert_checkequal(UI32 <> C, [%t,%t;%t,%t]);
885 assert_checkequal(UI32 <> e, [%t,%t;%t,%t]);
886 assert_checkequal(UI32 <> ec, [%t,%t;%t,%t]);
887 assert_checkequal(UI32 <> p, [%t,%t;%t,%t]);
888 assert_checkequal(UI32 <> pc, [%t,%t;%t,%t]);
889 assert_checkequal(UI32 <> P, [%t,%f;%t,%t]);
890 assert_checkequal(UI32 <> PC, [%t,%f;%t,%t]);
891 assert_checkequal(UI32 <> SP, %t);
892 assert_checkequal(UI32 <> SPC, %t);
893 assert_checkequal(UI32 <> SP1, %t);
894 assert_checkequal(UI32 <> SPC1, %t);
895 assert_checkequal(UI32 <> i8, [%t,%t;%t,%t]);
896 assert_checkequal(UI32 <> I8, [%t,%f;%t,%t]);
897 assert_checkequal(UI32 <> ui8, [%t,%t;%t,%t]);
898 assert_checkequal(UI32 <> UI8, [%t,%f;%t,%t]);
899 assert_checkequal(UI32 <> i16, [%t,%t;%t,%t]);
900 assert_checkequal(UI32 <> I16, [%t,%f;%t,%t]);
901 assert_checkequal(UI32 <> ui16, [%t,%t;%t,%t]);
902 assert_checkequal(UI32 <> UI16, [%t,%f;%t,%t]);
903 assert_checkequal(UI32 <> i32, [%t,%t;%t,%t]);
904 assert_checkequal(UI32 <> I32, [%t,%f;%t,%t]);
905 assert_checkequal(UI32 <> ui32, [%f,%t;%t,%t]);
906 assert_checkequal(UI32 <> UI32, [%f,%f;%f,%f]);
907 assert_checkequal(UI32 <> str, %t);
908 assert_checkequal(UI32 <> STR, %t);
909 assert_checkequal(UI32 <> b, [%t,%t;%t,%t]);
910 assert_checkequal(UI32 <> B, [%t,%t;%t,%t]);
911 assert_checkequal(UI32 <> SPB, %t);
912
913 assert_checkequal(str <> empty, %t);
914 assert_checkequal(str <> r, %t);
915 assert_checkequal(str <> c, %t);
916 assert_checkequal(str <> R, %t);
917 assert_checkequal(str <> C, %t);
918 assert_checkequal(str <> e, %t);
919 assert_checkequal(str <> ec, %t);
920 assert_checkequal(str <> p, %t);
921 assert_checkequal(str <> pc, %t);
922 assert_checkequal(str <> P, %t);
923 assert_checkequal(str <> PC, %t);
924 assert_checkequal(str <> SP, %t);
925 assert_checkequal(str <> SPC, %t);
926 assert_checkequal(str <> SP1, %t);
927 assert_checkequal(str <> SPC1, %t);
928 assert_checkequal(str <> i8, %t);
929 assert_checkequal(str <> I8, %t);
930 assert_checkequal(str <> ui8, %t);
931 assert_checkequal(str <> UI8, %t);
932 assert_checkequal(str <> i16, %t);
933 assert_checkequal(str <> I16, %t);
934 assert_checkequal(str <> ui16, %t);
935 assert_checkequal(str <> UI16, %t);
936 assert_checkequal(str <> i32, %t);
937 assert_checkequal(str <> I32, %t);
938 assert_checkequal(str <> ui32, %t);
939 assert_checkequal(str <> UI32, %t);
940 assert_checkequal(str <> str, %f);
941 assert_checkequal(str <> STR, [%t,%t;%t,%t]);
942 assert_checkequal(str <> b, %t);
943 assert_checkequal(str <> B, %t);
944 assert_checkequal(str <> SPB, %t);
945
946 assert_checkequal(STR <> empty, %t);
947 assert_checkequal(STR <> r, %t);
948 assert_checkequal(STR <> c, %t);
949 assert_checkequal(STR <> R, %t);
950 assert_checkequal(STR <> C, %t);
951 assert_checkequal(STR <> e, %t);
952 assert_checkequal(STR <> ec, %t);
953 assert_checkequal(STR <> p, %t);
954 assert_checkequal(STR <> pc, %t);
955 assert_checkequal(STR <> P, %t);
956 assert_checkequal(STR <> PC, %t);
957 assert_checkequal(STR <> SP, %t);
958 assert_checkequal(STR <> SPC, %t);
959 assert_checkequal(STR <> SP1, %t);
960 assert_checkequal(STR <> SPC1, %t);
961 assert_checkequal(STR <> i8, %t);
962 assert_checkequal(STR <> I8, %t);
963 assert_checkequal(STR <> ui8, %t);
964 assert_checkequal(STR <> UI8, %t);
965 assert_checkequal(STR <> i16, %t);
966 assert_checkequal(STR <> I16, %t);
967 assert_checkequal(STR <> ui16, %t);
968 assert_checkequal(STR <> UI16, %t);
969 assert_checkequal(STR <> i32, %t);
970 assert_checkequal(STR <> I32, %t);
971 assert_checkequal(STR <> ui32, %t);
972 assert_checkequal(STR <> UI32, %t);
973 assert_checkequal(STR <> str, [%t,%t;%t,%t]);
974 assert_checkequal(STR <> STR, [%f,%f;%f,%f]);
975 assert_checkequal(STR <> b, %t);
976 assert_checkequal(STR <> B, %t);
977 assert_checkequal(STR <> SPB, %t);
978
979 assert_checkequal(b <> empty, %t);
980 assert_checkequal(b <> r, %t);
981 assert_checkequal(b <> c, %t);
982 assert_checkequal(b <> R, %t);
983 assert_checkequal(b <> C, %t);
984 assert_checkequal(b <> e, %t);
985 assert_checkequal(b <> ec, %t);
986 assert_checkequal(b <> p, %t);
987 assert_checkequal(b <> pc, %t);
988 assert_checkequal(b <> P, %t);
989 assert_checkequal(b <> PC, %t);
990 assert_checkequal(b <> SP, %t);
991 assert_checkequal(b <> SPC, %t);
992 assert_checkequal(b <> SP1, %t);
993 assert_checkequal(b <> SPC1, %t);
994 assert_checkequal(b <> i8, %t);
995 assert_checkequal(b <> I8, [%t,%t;%t,%t]);
996 assert_checkequal(b <> ui8, %t);
997 assert_checkequal(b <> UI8, [%t,%t;%t,%t]);
998 assert_checkequal(b <> i16, %t);
999 assert_checkequal(b <> I16, [%t,%t;%t,%t]);
1000 assert_checkequal(b <> ui16, %t);
1001 assert_checkequal(b <> UI16, [%t,%t;%t,%t]);
1002 assert_checkequal(b <> i32, %t);
1003 assert_checkequal(b <> I32, [%t,%t;%t,%t]);
1004 assert_checkequal(b <> ui32, %t);
1005 assert_checkequal(b <> UI32, [%t,%t;%t,%t]);
1006 assert_checkequal(b <> str, %t);
1007 assert_checkequal(b <> STR, %t);
1008 assert_checkequal(b <> b, %f);
1009 assert_checkequal(b <> B, [%t,%f;%f,%t]);
1010 assert_checkequal(b <> SPB, sparse([1,2;2,1],[%t;%t],[2,2]));
1011
1012 assert_checkequal(B <> empty, %t);
1013 assert_checkequal(B <> r, %t);
1014 assert_checkequal(B <> c, %t);
1015 assert_checkequal(B <> R, %t);
1016 assert_checkequal(B <> C, %t);
1017 assert_checkequal(B <> e, %t);
1018 assert_checkequal(B <> ec, %t);
1019 assert_checkequal(B <> p, %t);
1020 assert_checkequal(B <> pc, %t);
1021 assert_checkequal(B <> P, %t);
1022 assert_checkequal(B <> PC, %t);
1023 assert_checkequal(B <> SP, %t);
1024 assert_checkequal(B <> SPC, %t);
1025 assert_checkequal(B <> SP1, %t);
1026 assert_checkequal(B <> SPC1, %t);
1027 assert_checkequal(B <> i8, [%t,%t;%t,%t]);
1028 assert_checkequal(B <> I8, [%t,%t;%t,%t]);
1029 assert_checkequal(B <> ui8, [%t,%t;%t,%t]);
1030 assert_checkequal(B <> UI8, [%t,%t;%t,%t]);
1031 assert_checkequal(B <> i16, [%t,%t;%t,%t]);
1032 assert_checkequal(B <> I16, [%t,%t;%t,%t]);
1033 assert_checkequal(B <> ui16, [%t,%t;%t,%t]);
1034 assert_checkequal(B <> UI16, [%t,%t;%t,%t]);
1035 assert_checkequal(B <> i32, [%t,%t;%t,%t]);
1036 assert_checkequal(B <> I32, [%t,%t;%t,%t]);
1037 assert_checkequal(B <> ui32, [%t,%t;%t,%t]);
1038 assert_checkequal(B <> UI32, [%t,%t;%t,%t]);
1039 assert_checkequal(B <> str, %t);
1040 assert_checkequal(B <> STR, %t);
1041 assert_checkequal(B <> b, [%t,%f;%f,%t]);
1042 assert_checkequal(B <> B, [%f,%f;%f,%f]);
1043 assert_checkequal(B <> SPB, sparse([1,1;1,2;2,1;2,2],[%t;%t;%t;%t],[2,2]));
1044
1045 assert_checkequal(SPB <> empty, %t);
1046 assert_checkequal(SPB <> r, %t);
1047 assert_checkequal(SPB <> c, %t);
1048 assert_checkequal(SPB <> R, %t);
1049 assert_checkequal(SPB <> C, %t);
1050 assert_checkequal(SPB <> e, %t);
1051 assert_checkequal(SPB <> ec, %t);
1052 assert_checkequal(SPB <> SP, %t);
1053 assert_checkequal(SPB <> SPC, %t);
1054 assert_checkequal(SPB <> SP1, %t);
1055 assert_checkequal(SPB <> SPC1, %t);
1056 assert_checkequal(SPB <> i8, %t);
1057 assert_checkequal(SPB <> I8, %t);
1058 assert_checkequal(SPB <> ui8, %t);
1059 assert_checkequal(SPB <> UI8, %t);
1060 assert_checkequal(SPB <> i16, %t);
1061 assert_checkequal(SPB <> I16, %t);
1062 assert_checkequal(SPB <> ui16, %t);
1063 assert_checkequal(SPB <> UI16, %t);
1064 assert_checkequal(SPB <> i32, %t);
1065 assert_checkequal(SPB <> I32, %t);
1066 assert_checkequal(SPB <> ui32, %t);
1067 assert_checkequal(SPB <> UI32, %t);
1068 assert_checkequal(SPB <> str, %t);
1069 assert_checkequal(SPB <> STR, %t);
1070 assert_checkequal(SPB <> b, sparse([1,2;2,1],[%t;%t],[2,2]));
1071 assert_checkequal(SPB <> B, sparse([1,1;1,2;2,1;2,2],[%t;%t;%t;%t],[2,2]));
1072 assert_checkequal(SPB <> SPB, sparse([1,1],[%f],[2,2]));