annotate assertSize.m @ 1324:56439c1a49b4 feature/laplace1d_variable

Bugifx penalty sign.
author Martin Almquist <malmquist@stanford.edu>
date Sun, 27 Jun 2021 16:19:28 +0200
parents a72038b1f709
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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