Mercurial > repos > public > sbplib
annotate struct2syntax.m @ 1037:2d7ba44340d0 feature/burgers1d
Pass scheme specific parameters as cell array. This will enabale constructDiffOps to be more general. In addition, allow for schemes returning function handles as diffOps, which is currently how non-linear schemes such as Burgers1d are implemented.
author | Vidar Stiernström <vidar.stiernstrom@it.uu.se> |
---|---|
date | Fri, 18 Jan 2019 09:02:02 +0100 |
parents | 54d3ab296ba0 |
children |
rev | line source |
---|---|
7
8add0564ad6a
Added functions for converting structs to string representations.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
1 function str = struct2syntax(s) |
40
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
7
diff
changeset
|
2 warning('Deprecated! Use toString() instead!'); |
7
8add0564ad6a
Added functions for converting structs to string representations.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
3 fn = fieldnames(s); |
8add0564ad6a
Added functions for converting structs to string representations.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
4 |
8add0564ad6a
Added functions for converting structs to string representations.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
5 if length(fn) == 0 |
8add0564ad6a
Added functions for converting structs to string representations.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
6 str = 'struct()'; |
8add0564ad6a
Added functions for converting structs to string representations.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
7 return |
8add0564ad6a
Added functions for converting structs to string representations.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
8 end |
8add0564ad6a
Added functions for converting structs to string representations.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
9 |
8add0564ad6a
Added functions for converting structs to string representations.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
10 str = sprintf('struct('); |
8add0564ad6a
Added functions for converting structs to string representations.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
11 |
8add0564ad6a
Added functions for converting structs to string representations.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
12 for i = 1:length(fn) - 1 |
8add0564ad6a
Added functions for converting structs to string representations.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
13 value = s.(fn{i}); |
8add0564ad6a
Added functions for converting structs to string representations.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
14 str = [str sprintf('''%s'', %s, ',fn{i}, valueString(value))]; |
8add0564ad6a
Added functions for converting structs to string representations.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
15 end |
8add0564ad6a
Added functions for converting structs to string representations.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
16 value = s.(fn{end}); |
8add0564ad6a
Added functions for converting structs to string representations.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
17 str = [str sprintf('''%s'', %s)',fn{end}, valueString(value))]; |
8add0564ad6a
Added functions for converting structs to string representations.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
18 end |
8add0564ad6a
Added functions for converting structs to string representations.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
19 |
8add0564ad6a
Added functions for converting structs to string representations.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
20 function str = valueString(value) |
8add0564ad6a
Added functions for converting structs to string representations.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
21 if ischar(value) |
8add0564ad6a
Added functions for converting structs to string representations.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
22 str = ['''' value '''']; |
8add0564ad6a
Added functions for converting structs to string representations.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
23 else |
8add0564ad6a
Added functions for converting structs to string representations.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
24 str = num2str(value); |
8add0564ad6a
Added functions for converting structs to string representations.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
25 end |
8add0564ad6a
Added functions for converting structs to string representations.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
26 end |