add support for structs
[pet.git] / tests / struct7.scop
blob2ba49831a8aa9bde438047487395759ab4e2bc68
1 start: 132
2 end: 179
3 context: '{  :  }'
4 types:
5 - name: scomplex
6   definition: "struct scomplex {\n    float re;\n    float im;\n}"
7 - name: pair
8   definition: "struct pair {\n    struct scomplex a;\n    struct scomplex b;\n}"
9 arrays:
10 - context: '{  :  }'
11   extent: '{ p[] }'
12   element_type: struct pair
13   element_size: 16
14   element_is_record: 1
15 - context: '{  :  }'
16   extent: '{ p_a[p[] -> a[]] }'
17   element_type: struct scomplex
18   element_size: 8
19   element_is_record: 1
20 - context: '{  :  }'
21   extent: '{ p_a_re[p_a[p[] -> a[]] -> re[]] }'
22   element_type: float
23   element_size: 4
24 - context: '{  :  }'
25   extent: '{ p_a_im[p_a[p[] -> a[]] -> im[]] }'
26   element_type: float
27   element_size: 4
28 - context: '{  :  }'
29   extent: '{ p_b[p[] -> b[]] }'
30   element_type: struct scomplex
31   element_size: 8
32   element_is_record: 1
33 - context: '{  :  }'
34   extent: '{ p_b_re[p_b[p[] -> b[]] -> re[]] }'
35   element_type: float
36   element_size: 4
37 - context: '{  :  }'
38   extent: '{ p_b_im[p_b[p[] -> b[]] -> im[]] }'
39   element_type: float
40   element_size: 4
41 statements:
42 - line: 16
43   domain: '{ S_0[] }'
44   schedule: '{ S_0[] -> [0] }'
45   body:
46     type: binary
47     operation: =
48     arguments:
49     - type: access
50       relation: '{ S_0[] -> p_a_re[p_a[p[] -> a[]] -> re[]] }'
51       index: '{ S_0[] -> p_a_re[p_a[p[] -> a[]] -> re[]] }'
52       reference: __pet_ref_0
53       read: 0
54       write: 1
55     - type: access
56       relation: '{ S_0[] -> p_b_im[p_b[p[] -> b[]] -> im[]] }'
57       index: '{ S_0[] -> p_b_im[p_b[p[] -> b[]] -> im[]] }'
58       reference: __pet_ref_1
59       read: 1
60       write: 0