restore tests from operations module
[scilab.git] / scilab / modules / ast / tests / unit_tests / substraction.tst
1 // ============================================================================
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) 2012 - DIGITEO - Antoine ELIAS
4 //
5 //  This file is distributed under the same license as the Scilab package.
6 // ============================================================================
7
8 // <-- JVM NOT MANDATORY -->
9
10 r = 2;
11 R = [1,2;3,4];
12 R3(:,:,1) = R;
13 R3(:,:,2) = R';
14 c = 1 - 2*%i;
15 C = [1+2*%i,2+4*%i;3+6*%i,4+8*%i];
16 C3(:,:,1) = C;
17 C3(:,:,2) = C';
18
19
20 // double - double
21
22 //r - r
23 assert_checkequal(r - r, 0);
24 //r - c
25 assert_checkequal(r - c, 1+%i*2);
26 //c - r
27 assert_checkequal(c - r, -1-%i*2);
28 //c - c
29 assert_checkequal(c - c, 0*%i);
30
31
32 //double - DOUBLE
33
34 //r - R
35 assert_checkequal(r - R, [1,0;-1,-2]);
36 rR3ref(:,:,1) = [1,0;-1,-2];
37 rR3ref(:,:,2) = [1,-1;0,-2] ;
38 assert_checkequal(r - R3, rR3ref);
39 //r - C
40 assert_checkequal(r - C, [ 1-%i*2,-%i*4;-1-%i*6,-2-%i*8]);
41 rC3ref(:,:,1) = [ 1-%i*2,-%i*4;-1-%i*6,-2-%i*8];
42 rC3ref(:,:,2) = [ 1+%i*2,-1+%i*6;%i*4,-2+%i*8];
43 assert_checkequal(r - C3, rC3ref);
44 //c - R
45 assert_checkequal(c - R, [-%i*2,-1-%i*2;-2-%i*2,-3-%i*2]);
46 cR3ref(:,:,1) = [-%i*2,-1-%i*2;-2-%i*2,-3-%i*2];
47 cR3ref(:,:,2) = [-%i*2,-2-%i*2;-1-%i*2,-3-%i*2];
48 assert_checkequal(c - R3, cR3ref);
49 //c - C
50 assert_checkequal(c - C, [-%i*4,-1-%i*6;-2-%i*8,-3-%i*10]);
51 cC3ref(:,:,1) = [-%i*4,-1-%i*6;-2-%i*8,-3-%i*10];
52 cC3ref(:,:,2) = [0,-2+%i*4;-1+%i*2,-3+%i*6];
53 assert_checkequal(c - C3, cC3ref);
54
55
56 //DOUBLE - double
57
58 //R - r
59 assert_checkequal(R - r, [-1,0;1,2]);
60 R3rref(:,:,1) = [-1,0;1,2];
61 R3rref(:,:,2) = [-1,1;0,2];
62 assert_checkequal(R3 - r, R3rref);
63 //R - c
64 assert_checkequal(R - c, [%i*2, 1+%i*2; 2+%i*2, 3+%i*2]);
65 R3cref(:,:,1) = [%i*2, 1+%i*2; 2+%i*2, 3+%i*2];
66 R3cref(:,:,2) = [%i*2, 2+%i*2; 1+%i*2, 3+%i*2];
67 assert_checkequal(R3 - c, R3cref);
68 //C - r
69 assert_checkequal(C - r, [-1+%i*2,%i*4; 1+%i*6, 2+%i*8]);
70 C3rref(:,:,1) = [-1+%i*2,%i*4; 1+%i*6, 2+%i*8];
71 C3rref(:,:,2) = [-1-%i*2, 1-%i*6;-%i*4, 2-%i*8];
72 assert_checkequal(C3 - r, C3rref);
73 //c - c
74 assert_checkequal(C - c, [%i*4, 1+%i*6; 2+%i*8, 3+%i*10]);
75 C3cref(:,:,1) = [%i*4, 1+%i*6; 2+%i*8, 3+%i*10];
76 C3cref(:,:,2) = [0, 2-%i*4; 1-%i*2, 3-%i*6];
77 assert_checkequal(C3 - c, C3cref);
78
79 //DOUBLE - DOUBLE
80 //R - R
81 assert_checkequal(R - R, [0,0;0,0]);
82 R3R3ref(:,:,1) = [0,0;0,0];
83 R3R3ref(:,:,2) = [0,0;0,0];
84 assert_checkequal(R3 - R3, R3R3ref);
85 //R - C
86 assert_checkequal(R - C, [-%i*2,-%i*4;-%i*6,-%i*8]);
87 R3C3ref(:,:,1) = [-%i*2,-%i*4;-%i*6,-%i*8];
88 R3C3ref(:,:,2) = [%i*2,%i*6;%i*4,%i*8];
89 assert_checkequal(R3 - C3, R3C3ref);
90 //C - R
91 assert_checkequal(C - R, [%i*2,%i*4;%i*6,%i*8]);
92 C3R3ref(:,:,1) = [%i*2,%i*4;%i*6,%i*8];
93 C3R3ref(:,:,2) = [-%i*2,-%i*6;-%i*4,-%i*8];
94 assert_checkequal(C3 - R3, C3R3ref);
95 //C - C
96 assert_checkequal(C - C, [0,0;0,0]*%i);
97 C3C3ref(:,:,1) = [0,0;0,0];
98 C3C3ref(:,:,2) = [0,0;0,0];
99 assert_checkequal(C3 - C3, C3C3ref*%i);