annotate dealStruct.m @ 1330:855871e0b852 feature/D2_boundary_opt

Add size checks to the operators
author Vidar Stiernström <vidar.stiernstrom@it.uu.se>
date Thu, 17 Feb 2022 18:55:11 +0100
parents b7ec26da3d77
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
874
95993ad2bd70 Add function to deal the fields of a struct to variables
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
1 function varargout = dealStruct(s, fields)
892
b7ec26da3d77 Handle default arguments better in dealStruct()
Jonatan Werpers <jonatan@werpers.com>
parents: 874
diff changeset
2 default_arg('fields', []);
874
95993ad2bd70 Add function to deal the fields of a struct to variables
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
3
892
b7ec26da3d77 Handle default arguments better in dealStruct()
Jonatan Werpers <jonatan@werpers.com>
parents: 874
diff changeset
4 if isempty(fields)
b7ec26da3d77 Handle default arguments better in dealStruct()
Jonatan Werpers <jonatan@werpers.com>
parents: 874
diff changeset
5 out = dealFields(s, fieldnames(s));
b7ec26da3d77 Handle default arguments better in dealStruct()
Jonatan Werpers <jonatan@werpers.com>
parents: 874
diff changeset
6 varargout = out(1:nargout);
b7ec26da3d77 Handle default arguments better in dealStruct()
Jonatan Werpers <jonatan@werpers.com>
parents: 874
diff changeset
7 else
b7ec26da3d77 Handle default arguments better in dealStruct()
Jonatan Werpers <jonatan@werpers.com>
parents: 874
diff changeset
8 assert(nargout == length(fields), 'Number of output arguements must match the number of fieldnames provided');
b7ec26da3d77 Handle default arguments better in dealStruct()
Jonatan Werpers <jonatan@werpers.com>
parents: 874
diff changeset
9 varargout = dealFields(s, fields);
874
95993ad2bd70 Add function to deal the fields of a struct to variables
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
10 end
95993ad2bd70 Add function to deal the fields of a struct to variables
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
11 end
892
b7ec26da3d77 Handle default arguments better in dealStruct()
Jonatan Werpers <jonatan@werpers.com>
parents: 874
diff changeset
12
b7ec26da3d77 Handle default arguments better in dealStruct()
Jonatan Werpers <jonatan@werpers.com>
parents: 874
diff changeset
13 function out = dealFields(s, fields)
b7ec26da3d77 Handle default arguments better in dealStruct()
Jonatan Werpers <jonatan@werpers.com>
parents: 874
diff changeset
14 out = cell(1, length(fields));
b7ec26da3d77 Handle default arguments better in dealStruct()
Jonatan Werpers <jonatan@werpers.com>
parents: 874
diff changeset
15 for i = 1:length(fields)
b7ec26da3d77 Handle default arguments better in dealStruct()
Jonatan Werpers <jonatan@werpers.com>
parents: 874
diff changeset
16 out{i} = s.(fields{i});
b7ec26da3d77 Handle default arguments better in dealStruct()
Jonatan Werpers <jonatan@werpers.com>
parents: 874
diff changeset
17 end
b7ec26da3d77 Handle default arguments better in dealStruct()
Jonatan Werpers <jonatan@werpers.com>
parents: 874
diff changeset
18 end