1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
| // Check that lists work properly
// some compilers are picky about how lists of structures can be
// allocated
scalar sa[];
vector sb[];
scalar * list2 = {sa};
vector * list3 = {sb};
scalar * list4 = {sa,sb.x,sb.y};
tensor tc[];
scalar * list5 = {sa,tc.x.x,tc.x.y,tc.y.x,tc.y.y};
vector * list6 = {sb,tc.x,tc.y};
scalar * list7 = {sa,tc.x,tc.y};
scalar * list8 = {sa,tc};
scalar * list9 = {sa,sb};
int main()
{
for (scalar s in list4)
fprintf (stderr, "%d\n", s.i);
for (scalar s in list5)
fprintf (stderr, "%d\n", s.i);
for (vector v in list6)
fprintf (stderr, "%d %d\n", v.x.i, v.y.i);
for (scalar s in list7)
fprintf (stderr, "%d\n", s.i);
for (scalar s in list8)
fprintf (stderr, "%d\n", s.i);
for (scalar s in list9)
fprintf (stderr, "%d\n", s.i);
scalar a = {1}, b = {2}, c = {3};
vector d = {{4}, {5}};
scalar * list = {a,b,c,d};
for (scalar s in list)
fprintf (stderr, "%d\n", s.i);
tensor e = {{{6},{7}},{{8},{9}}};
vector * list1 = {d,e};
for (vector v in list1)
fprintf (stderr, "%d %d\n", v.x.i, v.y.i);
tensor * list2 = {e};
for (tensor t in list2)
fprintf (stderr, "%d %d %d %d\n", t.x.x.i, t.x.y.i, t.y.x.i, t.y.y.i);
scalar * list3 = {a,d.x,d.y};
for (scalar s in list3)
fprintf (stderr, "%d\n", s.i);
}
|