Mercurial > repos > public > sbplib
annotate reshapeRowMajTest.m @ 1037:2d7ba44340d0 feature/burgers1d
Pass scheme specific parameters as cell array. This will enabale constructDiffOps to be more general. In addition, allow for schemes returning function handles as diffOps, which is currently how non-linear schemes such as Burgers1d are implemented.
author | Vidar Stiernström <vidar.stiernstrom@it.uu.se> |
---|---|
date | Fri, 18 Jan 2019 09:02:02 +0100 |
parents | 5dad3b754c18 |
children |
rev | line source |
---|---|
165
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
1 function tests = reshapeRowMajTest() |
161
73bc43c7379e
Added function for reshaping grid functions. Added size() method to structured grid.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
2 tests = functiontests(localfunctions); |
73bc43c7379e
Added function for reshaping grid functions. Added size() method to structured grid.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
3 end |
73bc43c7379e
Added function for reshaping grid functions. Added size() method to structured grid.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
4 |
73bc43c7379e
Added function for reshaping grid functions. Added size() method to structured grid.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
5 function test1D(testCase) |
165
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
6 in = { |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
7 {5,[1; 2; 3; 4; 5]}, |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
8 {5,[1 2 3 4 5]}, |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
9 }; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
10 out = { |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
11 [1; 2; 3; 4; 5], |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
12 [1; 2; 3; 4; 5], |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
13 }; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
14 for i = 1:length(in) |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
15 testCase.verifyEqual(reshapeRowMaj(in{i}{2}, in{i}{1}),out{i}); |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
16 end |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
17 end |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
18 |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
19 |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
20 function testIdentity(testCase) |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
21 in = { |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
22 {[2,2], magic(2)}, |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
23 {[3,3], magic(3)}, |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
24 {[2,3], [1 2 3; 4 5 6]}, |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
25 }; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
26 |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
27 for i = 1:length(in) |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
28 testCase.verifyEqual(reshapeRowMaj(in{i}{2}, in{i}{1}),in{i}{2}); |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
29 end |
161
73bc43c7379e
Added function for reshaping grid functions. Added size() method to structured grid.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
30 end |
73bc43c7379e
Added function for reshaping grid functions. Added size() method to structured grid.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
31 |
73bc43c7379e
Added function for reshaping grid functions. Added size() method to structured grid.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
32 function test2D(testCase) |
165
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
33 in = { |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
34 {[2,2],[11; 12; 21; 22]}, |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
35 {[3,2],[1 2 3; 4 5 6]}, |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
36 {[6 1],[1 2 3; 4 5 6]}, |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
37 {[1 6],[1 2 3; 4 5 6]}, |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
38 }; |
161
73bc43c7379e
Added function for reshaping grid functions. Added size() method to structured grid.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
39 |
165
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
40 out{1}(1,1) = 11; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
41 out{1}(1,2) = 12; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
42 out{1}(2,1) = 21; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
43 out{1}(2,2) = 22; |
161
73bc43c7379e
Added function for reshaping grid functions. Added size() method to structured grid.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
44 |
165
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
45 out{2} = [1 2; 3 4; 5 6]; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
46 out{3} = [1; 2; 3; 4; 5; 6]; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
47 out{4} = [1 2 3 4 5 6]; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
48 |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
49 for i = 1:length(in) |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
50 testCase.verifyEqual(reshapeRowMaj(in{i}{2}, in{i}{1}),out{i}); |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
51 end |
161
73bc43c7379e
Added function for reshaping grid functions. Added size() method to structured grid.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
52 end |
73bc43c7379e
Added function for reshaping grid functions. Added size() method to structured grid.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
53 |
73bc43c7379e
Added function for reshaping grid functions. Added size() method to structured grid.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
54 function test3D(testCase) |
165
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
55 in = { |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
56 {[2, 2, 2], [111; 112; 121; 122; 211; 212; 221; 222]}, |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
57 {[8 1], cat(3,[1 2; 3 4],[5 6; 7 8])}, |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
58 {[1 8], cat(3,[1 2; 3 4],[5 6; 7 8])}, |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
59 {[2 4], cat(3,[1 2; 3 4],[5 6; 7 8])}, |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
60 {[4 2], cat(3,[1 2; 3 4],[5 6; 7 8])}, |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
61 }; |
161
73bc43c7379e
Added function for reshaping grid functions. Added size() method to structured grid.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
62 |
165
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
63 out{1}(1,1,1) = 111; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
64 out{1}(1,1,2) = 112; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
65 out{1}(1,2,1) = 121; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
66 out{1}(1,2,2) = 122; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
67 out{1}(2,1,1) = 211; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
68 out{1}(2,1,2) = 212; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
69 out{1}(2,2,1) = 221; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
70 out{1}(2,2,2) = 222; |
161
73bc43c7379e
Added function for reshaping grid functions. Added size() method to structured grid.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
71 |
165
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
72 out{2} = [1; 5; 2; 6; 3; 7; 4; 8]; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
73 out{3} = [1 5 2 6 3 7 4 8]; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
74 out{4} = [1 5 2 6; 3 7 4 8]; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
75 out{5} = [1 5; 2 6; 3 7; 4 8]; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
76 |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
77 for i = 1:length(in) |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
78 testCase.verifyEqual(reshapeRowMaj(in{i}{2}, in{i}{1}),out{i}); |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
79 end |
161
73bc43c7379e
Added function for reshaping grid functions. Added size() method to structured grid.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
80 end |
73bc43c7379e
Added function for reshaping grid functions. Added size() method to structured grid.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
81 |
73bc43c7379e
Added function for reshaping grid functions. Added size() method to structured grid.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
82 function testNonSquare(testCase) |
165
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
83 in = { |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
84 {[2, 3, 4],[111; 112; 113; 114; 121; 122; 123; 124; 131; 132; 133; 134; 211; 212; 213; 214; 221; 222; 223; 224; 231; 232; 233; 234]}, |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
85 }; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
86 out{1}(1,1,1) = 111; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
87 out{1}(1,1,2) = 112; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
88 out{1}(1,1,3) = 113; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
89 out{1}(1,1,4) = 114; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
90 out{1}(1,2,1) = 121; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
91 out{1}(1,2,2) = 122; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
92 out{1}(1,2,3) = 123; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
93 out{1}(1,2,4) = 124; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
94 out{1}(1,3,1) = 131; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
95 out{1}(1,3,2) = 132; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
96 out{1}(1,3,3) = 133; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
97 out{1}(1,3,4) = 134; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
98 out{1}(2,1,1) = 211; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
99 out{1}(2,1,2) = 212; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
100 out{1}(2,1,3) = 213; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
101 out{1}(2,1,4) = 214; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
102 out{1}(2,2,1) = 221; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
103 out{1}(2,2,2) = 222; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
104 out{1}(2,2,3) = 223; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
105 out{1}(2,2,4) = 224; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
106 out{1}(2,3,1) = 231; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
107 out{1}(2,3,2) = 232; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
108 out{1}(2,3,3) = 233; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
109 out{1}(2,3,4) = 234; |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
110 for i = 1:length(in) |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
111 testCase.verifyEqual(reshapeRowMaj(in{i}{2}, in{i}{1}),out{i}); |
5dad3b754c18
Made reshape KronVector more general. Updated name and tests.
Jonatan Werpers <jonatan@werpers.com>
parents:
163
diff
changeset
|
112 end |
161
73bc43c7379e
Added function for reshaping grid functions. Added size() method to structured grid.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
113 end |