1 // ============================================================================
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) 2016 - DIGITEO - Cedric Delamarre
5 // This file is distributed under the same license as the Scilab package.
6 // ============================================================================
8 // <-- CLI SHELL MODE -->
19 assert_checkequal(a, colvect);
22 assert_checkequal(a, colvect);
25 assert_checkequal(a, colvect);
28 assert_checkequal(a, colvect);
31 assert_checkequal(a, colvect);
34 assert_checkequal(a, colvect);
38 assert_checkequal(a, linevect);
41 assert_checkequal(a, -1);
44 assert_checkequal(a, linevect);
47 assert_checkequal(a, linevect);
50 assert_checkequal(a, -1);
53 assert_checkequal(a, -1);
57 assert_checkequal(a, colvect);
60 assert_checkequal(a, colvect);
63 assert_checkequal(a, colvect);
66 assert_checkequal(a, colvect);
69 assert_checkequal(a, colvect);
72 assert_checkequal(a, colvect);
76 assert_checkequal(a, linevect);
79 assert_checkequal(a, -1);
82 assert_checkequal(a, linevect);
85 assert_checkequal(a, linevect);
88 assert_checkequal(a, -1);
91 assert_checkequal(a, -1);
95 assert_checkequal(a, linevect);
98 assert_checkequal(a, -1);
101 assert_checkequal(a, linevect);
104 assert_checkequal(a, linevect);
107 assert_checkequal(a, -1);
110 assert_checkequal(a, -1);
112 // Operators within matrices
116 assert_checkequal(a, expected);
120 assert_checkequal(a, expected);
122 a = [[2 3] .* ... // a comment
124 assert_checkequal(a, expected);
128 expected = [-2/3 -1];
129 assert_checkequal(a, expected);
133 assert_checkequal(a, expected);
135 a = [[2 3] ./ ... // a comment
137 assert_checkequal(a, expected);
141 expected = [-3/2 -1];
142 assert_checkequal(a, expected);
146 assert_checkequal(a, expected);
148 a = [[2 3] .\ ... // a comment
150 assert_checkequal(a, expected);
154 expected = [(2^(-3)), (3^(-3))];
155 assert_checkequal(a, expected);
159 assert_checkequal(a, expected);
161 a = [[2 3] .^ ... // a comment
163 assert_checkequal(a, expected);
167 expected = [(2-(-3)), (3-(-3))];
168 assert_checkequal(a, expected);
172 assert_checkequal(a, expected);
174 a = [[2 3] - ... // a comment
176 assert_checkequal(a, expected);
180 expected = [(2+(-3)), (3+(-3))];
181 assert_checkequal(a, expected);
185 assert_checkequal(a, expected);
187 a = [[2 3] + ... // a comment
189 assert_checkequal(a, expected);
193 expected = [(2*(-3))];
194 assert_checkequal(a, expected);
198 assert_checkequal(a, expected);
200 a = [2 * ... // a comment
202 assert_checkequal(a, expected);
206 expected = [(2/(-3))];
207 assert_checkequal(a, expected);
211 assert_checkequal(a, expected);
213 a = [2 / ... // a comment
215 assert_checkequal(a, expected);
219 expected = [(2\(-3))];
220 assert_checkequal(a, expected);
224 assert_checkequal(a, expected);
226 a = [2 \ ... // a comment
228 assert_checkequal(a, expected);
232 expected = [(2^(-3))];
233 assert_checkequal(a, expected);
237 assert_checkequal(a, expected);
239 a = [2 ^ ... // a comment
241 assert_checkequal(a, expected);
245 expected = [([2, 3].*.(-3))];
246 assert_checkequal(a, expected);
250 assert_checkequal(a, expected);
252 a = [[2 3] .*. ... // a comment
254 assert_checkequal(a, expected);
258 expected = [([2, 3]./.(-3))];
259 assert_checkequal(a, expected);
263 assert_checkequal(a, expected);
265 a = [[2 3] ./. ... // a comment
267 assert_checkequal(a, expected);
271 expected = [([2, 3].\.(-3))];
272 assert_checkequal(a, expected);
276 assert_checkequal(a, expected);
278 a = [[2 3] .\. ... // a comment
280 assert_checkequal(a, expected);
284 expected = [([2, 3]==(-3))];
285 assert_checkequal(a, expected);
289 assert_checkequal(a, expected);
291 a = [[2 3] == ... // a comment
293 assert_checkequal(a, expected);
297 expected = [([2, 3]~=(-3))];
298 assert_checkequal(a, expected);
302 assert_checkequal(a, expected);
304 a = [[2 3] ~= ... // a comment
306 assert_checkequal(a, expected);
310 expected = [([2, 3]<(-3))];
311 assert_checkequal(a, expected);
315 assert_checkequal(a, expected);
317 a = [[2 3] < ... // a comment
319 assert_checkequal(a, expected);
323 expected = [([2, 3]>(-3))];
324 assert_checkequal(a, expected);
328 assert_checkequal(a, expected);
330 a = [[2 3] > ... // a comment
332 assert_checkequal(a, expected);
336 expected = [([2, 3]<=(-3))];
337 assert_checkequal(a, expected);
341 assert_checkequal(a, expected);
343 a = [[2 3] <= ... // a comment
345 assert_checkequal(a, expected);
349 expected = [([2, 3]>=(-3))];
350 assert_checkequal(a, expected);
354 assert_checkequal(a, expected);
356 a = [[2 3] >= ... // a comment
358 assert_checkequal(a, expected);
362 a=[1; .../* a comment */
364 assert_checkequal(a, colvect);
365 a=[1;.../* a comment */
367 assert_checkequal(a, colvect);
368 a=[1; .../* a comment */
370 assert_checkequal(a, colvect);
371 a=[1;.../* a comment */
373 assert_checkequal(a, colvect);
374 a=[1; .../* a comment */
376 assert_checkequal(a, colvect);
377 a=[1;.../* a comment */
379 assert_checkequal(a, colvect);
381 a=[1 .../* a comment */
383 assert_checkequal(a, linevect);
384 a=[1.../* a comment */
386 assert_checkequal(a, -1);
387 a=[1 .../* a comment */
389 assert_checkequal(a, linevect);
390 a=[1.../* a comment */
392 assert_checkequal(a, linevect);
393 a=[1 .../* a comment */
395 assert_checkequal(a, -1);
396 a=[1.../* a comment */
398 assert_checkequal(a, -1);
400 // Operators within matrices
402 a = [[2 3] .* ... /* a comment */
405 assert_checkequal(a, expected);
409 a = [[2 3] ./ ... /* a comment */
411 expected = [-2/3 -1];
412 assert_checkequal(a, expected);
415 a = [[2 3] .\ ... /* a comment */
417 expected = [-3/2 -1];
418 assert_checkequal(a, expected);
421 a = [[2 3] .^ ... /* a comment */
423 expected = [(2^(-3)), (3^(-3))];
424 assert_checkequal(a, expected);
427 a = [[2 3] - ... /* a comment */
429 expected = [(2-(-3)), (3-(-3))];
430 assert_checkequal(a, expected);
433 a = [[2 3] + ... /* a comment */
435 expected = [(2+(-3)), (3+(-3))];
436 assert_checkequal(a, expected);
439 a = [2 * ... /* a comment */
441 expected = [(2*(-3))];
442 assert_checkequal(a, expected);
445 a = [2 / ... /* a comment */
447 expected = [(2/(-3))];
448 assert_checkequal(a, expected);
451 a = [2 \ ... /* a comment */
453 expected = [(2\(-3))];
454 assert_checkequal(a, expected);
457 a = [2 ^ ... /* a comment */
459 expected = [(2^(-3))];
460 assert_checkequal(a, expected);
463 a = [[2 3] .*. ... /* a comment */
465 expected = [([2, 3].*.(-3))];
466 assert_checkequal(a, expected);
469 a = [[2 3] ./. ... /* a comment */
471 expected = [([2, 3]./.(-3))];
472 assert_checkequal(a, expected);
475 a = [[2 3] .\. ... /* a comment */
477 expected = [([2, 3].\.(-3))];
478 assert_checkequal(a, expected);
481 a = [[2 3] == ... /* a comment */
483 expected = [([2, 3]==(-3))];
484 assert_checkequal(a, expected);
487 a = [[2 3] ~= ... /* a comment */
489 expected = [([2, 3]~=(-3))];
490 assert_checkequal(a, expected);
493 a = [[2 3] < ... /* a comment */
495 expected = [([2, 3]<(-3))];
496 assert_checkequal(a, expected);
499 a = [[2 3] > ... /* a comment */
501 expected = [([2, 3]>(-3))];
502 assert_checkequal(a, expected);
505 a = [[2 3] <= ... /* a comment */
507 expected = [([2, 3]<=(-3))];
508 assert_checkequal(a, expected);
511 a = [[2 3] >= ... /* a comment */
513 expected = [([2, 3]>=(-3))];
514 assert_checkequal(a, expected);
516 // Comments on several lines
517 a=[1; .../* a comment
520 assert_checkequal(a, colvect);
524 assert_checkequal(a, colvect);
525 a=[1; .../* a comment
528 assert_checkequal(a, colvect);
532 assert_checkequal(a, colvect);
533 a=[1; .../* a comment
536 assert_checkequal(a, colvect);
540 assert_checkequal(a, colvect);
545 assert_checkequal(a, linevect);
549 assert_checkequal(a, -1);
553 assert_checkequal(a, linevect);
557 assert_checkequal(a, linevect);
561 assert_checkequal(a, -1);
565 assert_checkequal(a, -1);
567 // Operators within matrices
569 a = [[2 3] .* ... /* a comment
573 assert_checkequal(a, expected);
576 a = [[2 3] ./ ... /* a comment
579 expected = [-2/3 -1];
580 assert_checkequal(a, expected);
583 a = [[2 3] .\ ... /* a comment
586 expected = [-3/2 -1];
587 assert_checkequal(a, expected);
590 a = [[2 3] .^ ... /* a comment
593 expected = [(2^(-3)), (3^(-3))];
594 assert_checkequal(a, expected);
597 a = [[2 3] - ... /* a comment
600 expected = [(2-(-3)), (3-(-3))];
601 assert_checkequal(a, expected);
604 a = [[2 3] + ... /* a comment
607 expected = [(2+(-3)), (3+(-3))];
608 assert_checkequal(a, expected);
611 a = [2 * ... /* a comment
614 expected = [(2*(-3))];
615 assert_checkequal(a, expected);
618 a = [2 / ... /* a comment
621 expected = [(2/(-3))];
622 assert_checkequal(a, expected);
625 a = [2 \ ... /* a comment
628 expected = [(2\(-3))];
629 assert_checkequal(a, expected);
632 a = [2 ^ ... /* a comment
635 expected = [(2^(-3))];
636 assert_checkequal(a, expected);
639 a = [[2 3] .*. ... /* a comment
642 expected = [([2, 3].*.(-3))];
643 assert_checkequal(a, expected);
646 a = [[2 3] ./. ... /* a comment
649 expected = [([2, 3]./.(-3))];
650 assert_checkequal(a, expected);
653 a = [[2 3] .\. ... /* a comment
656 expected = [([2, 3].\.(-3))];
657 assert_checkequal(a, expected);
660 a = [[2 3] == ... /* a comment
663 expected = [([2, 3]==(-3))];
664 assert_checkequal(a, expected);
667 a = [[2 3] ~= ... /* a comment
670 expected = [([2, 3]~=(-3))];
671 assert_checkequal(a, expected);
674 a = [[2 3] < ... /* a comment
677 expected = [([2, 3]<(-3))];
678 assert_checkequal(a, expected);
681 a = [[2 3] > ... /* a comment
684 expected = [([2, 3]>(-3))];
685 assert_checkequal(a, expected);
688 a = [[2 3] <= ... /* a comment
691 expected = [([2, 3]<=(-3))];
692 assert_checkequal(a, expected);
695 a = [[2 3] >= ... /* a comment
698 expected = [([2, 3]>=(-3))];
699 assert_checkequal(a, expected);
701 // Special behaviour of ... with + and -
705 assert_checkequal(a, expected);
710 assert_checkequal(a, expected);
715 assert_checkequal(a, expected);
720 assert_checkequal(a, expected);
725 assert_checkequal(a, expected);
730 assert_checkequal(a, expected);
732 // Case with multiline comment
733 str_cmd = ["a = [1 -... /* the start of a";
734 "multiline comment */ 2 3]"]; // this currently generates an error
735 assert_checktrue(execstr(str_cmd, "errcatch") <> 0);