Mercurial > repos > public > sbplib
annotate +blockmatrix/zeroTest.m @ 839:a4669d961d26
Add license file and a short readme
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Tue, 18 Sep 2018 15:48:36 +0200 |
parents | a5f1b0267dba |
children |
rev | line source |
---|---|
207
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
1 function tests = zeroTest() |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
2 tests = functiontests(localfunctions); |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
3 end |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
4 |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
5 function testZero(testCase) |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
6 cases = { |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
7 { |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
8 {[],[]}, |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
9 {}, |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
10 }, |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
11 { |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
12 {0,0}, |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
13 {[]}; |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
14 }, |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
15 { |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
16 {1,1}, |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
17 {0}; |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
18 }, |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
19 { |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
20 {2,1}, |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
21 {[0; 0]}; |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
22 }, |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
23 { |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
24 {1,2}, |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
25 {[0 0]}; |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
26 }, |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
27 { |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
28 {[1 2],2}, |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
29 {[0 0];[0 0; 0 0]}; |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
30 }, |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
31 { |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
32 {[1 2],[2 1]}, |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
33 {[0 0],[0];[0 0; 0 0],[0; 0]}; |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
34 }, |
579
a5f1b0267dba
Be less strict about what is considered a block matrix
Jonatan Werpers <jonatan@werpers.com>
parents:
207
diff
changeset
|
35 { |
a5f1b0267dba
Be less strict about what is considered a block matrix
Jonatan Werpers <jonatan@werpers.com>
parents:
207
diff
changeset
|
36 {[3],[0]}, |
a5f1b0267dba
Be less strict about what is considered a block matrix
Jonatan Werpers <jonatan@werpers.com>
parents:
207
diff
changeset
|
37 {zeros(3,0)}, |
a5f1b0267dba
Be less strict about what is considered a block matrix
Jonatan Werpers <jonatan@werpers.com>
parents:
207
diff
changeset
|
38 }, |
a5f1b0267dba
Be less strict about what is considered a block matrix
Jonatan Werpers <jonatan@werpers.com>
parents:
207
diff
changeset
|
39 |
a5f1b0267dba
Be less strict about what is considered a block matrix
Jonatan Werpers <jonatan@werpers.com>
parents:
207
diff
changeset
|
40 { |
a5f1b0267dba
Be less strict about what is considered a block matrix
Jonatan Werpers <jonatan@werpers.com>
parents:
207
diff
changeset
|
41 {[0],[3]}, |
a5f1b0267dba
Be less strict about what is considered a block matrix
Jonatan Werpers <jonatan@werpers.com>
parents:
207
diff
changeset
|
42 {zeros(0,3)}, |
a5f1b0267dba
Be less strict about what is considered a block matrix
Jonatan Werpers <jonatan@werpers.com>
parents:
207
diff
changeset
|
43 }, |
a5f1b0267dba
Be less strict about what is considered a block matrix
Jonatan Werpers <jonatan@werpers.com>
parents:
207
diff
changeset
|
44 { |
a5f1b0267dba
Be less strict about what is considered a block matrix
Jonatan Werpers <jonatan@werpers.com>
parents:
207
diff
changeset
|
45 {[0 2],[0 3]}, |
a5f1b0267dba
Be less strict about what is considered a block matrix
Jonatan Werpers <jonatan@werpers.com>
parents:
207
diff
changeset
|
46 { |
a5f1b0267dba
Be less strict about what is considered a block matrix
Jonatan Werpers <jonatan@werpers.com>
parents:
207
diff
changeset
|
47 zeros(0,0), zeros(0,3); |
a5f1b0267dba
Be less strict about what is considered a block matrix
Jonatan Werpers <jonatan@werpers.com>
parents:
207
diff
changeset
|
48 zeros(2,0), zeros(2,3); |
a5f1b0267dba
Be less strict about what is considered a block matrix
Jonatan Werpers <jonatan@werpers.com>
parents:
207
diff
changeset
|
49 }, |
a5f1b0267dba
Be less strict about what is considered a block matrix
Jonatan Werpers <jonatan@werpers.com>
parents:
207
diff
changeset
|
50 }, |
207
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
51 }; |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
52 |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
53 for i = 1:length(cases) |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
54 out = convertToFull(blockmatrix.zero(cases{i}{1})); |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
55 expected = cases{i}{2}; |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
56 testCase.verifyEqual(out,expected); |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
57 end |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
58 end |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
59 |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
60 |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
61 function C = convertToFull(C) |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
62 [N,M] = size(C); |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
63 for i = 1:N |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
64 for j = 1:M |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
65 C{i,j} = full(C{i,j}); |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
66 end |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
67 end |
d521e17f72b6
blockmatrix: Added function to create zero blockmatrices.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
68 end |