annotate assertSize.m @ 1344:b4e5e45bd239 feature/D2_boundary_opt

Remove round off zeros from D2Nonequidistant operators
author Vidar Stiernström <vidar.stiernstrom@it.uu.se>
date Sat, 15 Oct 2022 15:48:20 +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