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