update test case outputs
[pet.git] / tests / conditional_assignment2.scop
blob92471a89cc0237dcf630ef67c597cd8353c5935c
1 start: 225
2 end: 507
3 indent: "\t"
4 context: '[M, N] -> {  : N >= 0 and M >= 0 and M <= 2147483647 and N <= 2147483647
5   }'
6 schedule: '{ domain: "[N, M] -> { S_4[]; S_2[i, j] : i >= 0 and i <= -1 + N and j
7   >= 0 and j <= -1 + M; S_3[i] : i >= 0 and i <= -1 + N; S_0[]; S_1[i] : i >= 0 and
8   i <= -1 + N; S_5[i] : i >= 0 and i <= -1 + N }", child: { sequence: [ { filter:
9   "[N, M] -> { S_0[] }" }, { filter: "[N, M] -> { S_2[i, j]; S_3[i]; S_1[i] }", child:
10   { schedule: "[N, M] -> L_0[{ S_2[i, j] -> [(i)]; S_3[i] -> [(i)]; S_1[i] -> [(i)]
11   }]", child: { sequence: [ { filter: "[N, M] -> { S_1[i] }" }, { filter: "[N, M]
12   -> { S_2[i, j] }", child: { schedule: "[N, M] -> L_1[{ S_2[i, j] -> [(j)] }]" }
13   }, { filter: "[N, M] -> { S_3[i] }" } ] } } }, { filter: "[N, M] -> { S_4[] }" },
14   { filter: "[N, M] -> { S_5[i] }", child: { schedule: "[N] -> L_2[{ S_5[i] -> [(i)]
15   }]" } } ] } }'
16 arrays:
17 - context: '[N] -> {  : N >= 0 }'
18   extent: '[M, N] -> { A[i0, i1] : i0 >= 0 and i0 <= -1 + N and i1 <= 9 and i1 >=
19     0 }'
20   element_type: int
21   element_size: 4
22 - context: '[N] -> {  : N >= 0 }'
23   extent: '[M, N] -> { C[i0] : i0 >= 0 and i0 <= -1 + N }'
24   element_type: int
25   element_size: 4
26 - context: '[M, N] -> {  : N >= 0 and M >= 0 }'
27   extent: '[M, N] -> { in1[i0, i1] : i0 >= 0 and i0 <= -1 + N and i1 >= 0 and i1 <=
28     -1 + M }'
29   element_type: int
30   element_size: 4
31 - context: '{  :  }'
32   extent: '[M, N] -> { in2[] }'
33   value_bounds: '{ [i0] : i0 >= -1 and i0 <= 1 }'
34   element_type: int
35   element_size: 4
36 - context: '{  :  }'
37   extent: '[M, N] -> { m[] }'
38   element_type: int
39   element_size: 4
40 statements:
41 - line: 21
42   domain: '[M, N] -> { S_0[] }'
43   body:
44     type: expression
45     expr:
46       type: op
47       operation: =
48       arguments:
49       - type: access
50         index: '[M, N] -> { S_0[] -> in2[] }'
51         reference: __pet_ref_0
52         read: 0
53         write: 1
54       - type: call
55         name: g2
56 - line: 23
57   domain: '[M, N] -> { S_1[i] : i >= 0 and i <= -1 + N }'
58   body:
59     type: expression
60     expr:
61       type: op
62       operation: =
63       arguments:
64       - type: access
65         index: '[M, N] -> { S_1[i] -> m[] }'
66         reference: __pet_ref_1
67         read: 0
68         write: 1
69       - type: op
70         operation: +
71         arguments:
72         - type: access
73           index: '[M, N] -> { S_1[i] -> [(i)] }'
74           reference: __pet_ref_2
75           read: 1
76           write: 0
77         - type: int
78           value: 1
79 - line: 25
80   domain: '[M, N] -> { S_2[i, j] : i >= 0 and i <= -1 + N and j >= 0 and j <= -1 +
81     M }'
82   body:
83     type: expression
84     expr:
85       type: op
86       operation: =
87       arguments:
88       - type: access
89         index: '[M, N] -> { S_2[i, j] -> m[] }'
90         reference: __pet_ref_3
91         read: 0
92         write: 1
93       - type: call
94         name: g
95         arguments:
96         - type: call
97           name: h
98           arguments:
99           - type: access
100             index: '[M, N] -> { S_2[i, j] -> m[] }'
101             reference: __pet_ref_4
102             read: 1
103             write: 0
104         - type: access
105           index: '[M, N] -> { S_2[i, j] -> in1[(i), (j)] }'
106           reference: __pet_ref_5
107           read: 1
108           write: 0
109 - line: 26
110   domain: '[M, N] -> { S_3[i] : i >= 0 and i <= -1 + N }'
111   body:
112     type: expression
113     expr:
114       type: call
115       name: compute_row
116       arguments:
117       - type: call
118         name: h
119         arguments:
120         - type: access
121           index: '[M, N] -> { S_3[i] -> m[] }'
122           reference: __pet_ref_6
123           read: 1
124           write: 0
125       - type: access
126         may_read: '[M, N] -> { S_3[i] -> A[i, o1] }'
127         may_write: '[M, N] -> { S_3[i] -> A[i, o1] }'
128         must_write: '[M, N] -> {  }'
129         index: '[M, N] -> { S_3[i] -> A[(i)] }'
130         depth: 2
131         reference: __pet_ref_7
132         read: 1
133         write: 1
134 - line: 28
135   domain: '[M, N] -> { S_4[] }'
136   body:
137     type: expression
138     expr:
139       type: op
140       operation: =
141       arguments:
142       - type: access
143         index: '[M, N] -> { S_4[] -> A[(5), (6)] }'
144         reference: __pet_ref_8
145         read: 0
146         write: 1
147       - type: int
148         value: 0
149 - line: 30
150   domain: '[M, N] -> { S_5[i] : i >= 0 and i <= -1 + N }'
151   body:
152     type: expression
153     expr:
154       type: op
155       operation: =
156       arguments:
157       - type: access
158         index: '[M, N] -> { S_5[i] -> C[(i)] }'
159         reference: __pet_ref_9
160         read: 0
161         write: 1
162       - type: op
163         operation: '?:'
164         arguments:
165         - type: access
166           index: '[M, N] -> { [S_5[i] -> [i1]] -> [((1) : i1 <= -1 + N - i and i1
167             >= -i; (0) : i1 = N - i; (0) : i1 = -1 - i)] }'
168           reference: __pet_ref_11
169           read: 1
170           write: 0
171           arguments:
172           - type: access
173             index: '[M, N] -> { S_5[i] -> in2[] }'
174             reference: __pet_ref_10
175             read: 1
176             write: 0
177         - type: call
178           name: f
179           arguments:
180           - type: access
181             may_read: '[M, N] -> { [S_5[i] -> [i1]] -> A[i + i1, o1] : i1 <= -1 +
182               N - i and i1 >= -i }'
183             index: '[M, N] -> { [S_5[i] -> [i1]] -> A[((i + i1) : i1 >= -i)] }'
184             depth: 2
185             reference: __pet_ref_13
186             read: 1
187             write: 0
188             arguments:
189             - type: access
190               may_read: '[M, N] -> { S_5[i] -> in2[] }'
191               index: '[M, N] -> { S_5[i] -> in2[] }'
192               reference: __pet_ref_12
193               read: 1
194               write: 0
195         - type: int
196           value: 0