annotate assertSize.m @ 1118:07d0caf915e4 feature/poroelastic

Introduce optFlag so that one can choose not to build the optimization-related cell of matrices called B. It is too computationally costly and should probably be done in a different way.
author Martin Almquist <malmquist@stanford.edu>
date Sun, 05 May 2019 19:05:31 -0700
parents dec0447cbf2c
children a72038b1f709
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};
dec0447cbf2c Make assertSize more general, allow picking dimensions
Jonatan Werpers <jonatan@werpers.com>
parents: 767
diff changeset
5 errmsg = sprintf('Expected %s to have size %s, got: %s',inputname(1), toString(s), toString(size(A)));
dec0447cbf2c Make assertSize more general, allow picking dimensions
Jonatan Werpers <jonatan@werpers.com>
parents: 767
diff changeset
6 assert(all(size(A) == s), errmsg);
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
dec0447cbf2c Make assertSize more general, allow picking dimensions
Jonatan Werpers <jonatan@werpers.com>
parents: 767
diff changeset
11 errmsg = sprintf('Expected %s to have size %d along dimension %d, got: %d',inputname(1), s, dim, size(A,dim));
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