Mercurial > repos > public > sbplib
annotate assertSize.m @ 1243:4e0b88f3def1 feature/dirac_discr
Use rng(1) to set seed in diracDiscrTest because hex-speak crashed.
author | Martin Almquist <malmquist@stanford.edu> |
---|---|
date | Tue, 19 Nov 2019 17:11:33 -0800 |
parents | a72038b1f709 |
children |
rev | line source |
---|---|
766
afd20f023928
Rename assert_size to assertSize
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
1 % Assert that array A has the size s. |
768
dec0447cbf2c
Make assertSize more general, allow picking dimensions
Jonatan Werpers <jonatan@werpers.com>
parents:
767
diff
changeset
|
2 function assertSize(A,varargin) |
dec0447cbf2c
Make assertSize more general, allow picking dimensions
Jonatan Werpers <jonatan@werpers.com>
parents:
767
diff
changeset
|
3 if length(varargin) == 1 |
dec0447cbf2c
Make assertSize more general, allow picking dimensions
Jonatan Werpers <jonatan@werpers.com>
parents:
767
diff
changeset
|
4 s = varargin{1}; |
988
a72038b1f709
Fix bug in assertSize where dimensions didn't have to match
Jonatan Werpers <jonatan@werpers.com>
parents:
768
diff
changeset
|
5 assert(length(size(A)) == length(s), sprintf('Expected ''%s'' to have dimension %d, got %d', inputname(1), length(s), length(size(A)))); |
a72038b1f709
Fix bug in assertSize where dimensions didn't have to match
Jonatan Werpers <jonatan@werpers.com>
parents:
768
diff
changeset
|
6 assert(all(size(A) == s), sprintf('Expected ''%s'' to have size %s, got: %s',inputname(1), toString(s), toString(size(A)))); |
768
dec0447cbf2c
Make assertSize more general, allow picking dimensions
Jonatan Werpers <jonatan@werpers.com>
parents:
767
diff
changeset
|
7 elseif length(varargin) == 2 |
dec0447cbf2c
Make assertSize more general, allow picking dimensions
Jonatan Werpers <jonatan@werpers.com>
parents:
767
diff
changeset
|
8 dim = varargin{1}; |
dec0447cbf2c
Make assertSize more general, allow picking dimensions
Jonatan Werpers <jonatan@werpers.com>
parents:
767
diff
changeset
|
9 s = varargin{2}; |
dec0447cbf2c
Make assertSize more general, allow picking dimensions
Jonatan Werpers <jonatan@werpers.com>
parents:
767
diff
changeset
|
10 |
988
a72038b1f709
Fix bug in assertSize where dimensions didn't have to match
Jonatan Werpers <jonatan@werpers.com>
parents:
768
diff
changeset
|
11 errmsg = sprintf('Expected ''%s'' to have size %d along dimension %d, got: %d',inputname(1), s, dim, size(A,dim)); |
768
dec0447cbf2c
Make assertSize more general, allow picking dimensions
Jonatan Werpers <jonatan@werpers.com>
parents:
767
diff
changeset
|
12 assert(size(A,dim) == s, errmsg); |
dec0447cbf2c
Make assertSize more general, allow picking dimensions
Jonatan Werpers <jonatan@werpers.com>
parents:
767
diff
changeset
|
13 else |
dec0447cbf2c
Make assertSize more general, allow picking dimensions
Jonatan Werpers <jonatan@werpers.com>
parents:
767
diff
changeset
|
14 error('Expected 2 or 3 arguments to assertSize()'); |
dec0447cbf2c
Make assertSize more general, allow picking dimensions
Jonatan Werpers <jonatan@werpers.com>
parents:
767
diff
changeset
|
15 end |
766
afd20f023928
Rename assert_size to assertSize
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
16 end |