Support for scattering relation unions
[clay.git] / tests / unitary / unroll1.c.clay.scop
blob3d00374e4ae6a6bd0b90674a145f6d63b8d96d11
2 <OpenScop>
4 # =============================================== Global
5 # Language
8 # Context
9 CONTEXT
10 0 3 0 0 0 1
12 # Parameters are provided
14 <strings>
16 </strings>
18 # Number of statements
21 # =============================================== Statement 1
22 # Number of relations describing the statement:
25 # ----------------------------------------------  1.1 Domain
26 DOMAIN
27 4 5 1 0 1 1
28 # e/i|  i | l1 |  N |  1  
29    0    1   -3    0    0    ## i == 3*l1
30    1    1    0    0    0    ## i >= 0
31    1   -1    0    1   -3    ## -i+N-3 >= 0
32    1    0    0    1    0    ## N >= 0
34 # ----------------------------------------------  1.2 Scattering
35 SCATTERING
36 3 7 3 1 0 1
37 # e/i| c1   c2   c3 |  i |  N |  1  
38    0   -1    0    0    0    0    0    ## c1 == 0
39    0    0   -1    0    1    0    0    ## c2 == i
40    0    0    0   -1    0    0    0    ## c3 == 0
42 # ----------------------------------------------  1.3 Access
43 WRITE
44 2 6 2 1 0 1
45 # e/i| Arr  [1]|  i |  N |  1  
46    0   -1    0    0    0    3    ## Arr == a
47    0    0   -1    1    0    0    ## [1] == i
49 # ----------------------------------------------  1.4 Statement Extensions
50 # Number of Statement Extensions
52 <body>
53 # Number of original iterators
55 # List of original iterators
57 # Statement body expression
58 a[i] = 0;
59 </body>
61 # =============================================== Statement 2
62 # Number of relations describing the statement:
65 # ----------------------------------------------  2.1 Domain
66 DOMAIN
67 2 4 1 0 0 1
68 # e/i|  i |  N |  1  
69    1   -1    1    0    ## -i+N >= 0
70    1    0    1    0    ## N >= 0
72 # ----------------------------------------------  2.2 Scattering
73 SCATTERING
74 3 7 3 1 0 1
75 # e/i| c1   c2   c3 |  i |  N |  1  
76    0   -1    0    0    0    0    1    ## c1 == 1
77    0    0   -1    0    1    0    0    ## c2 == i
78    0    0    0   -1    0    0    0    ## c3 == 0
80 # ----------------------------------------------  2.3 Access
81 WRITE
82 2 6 2 1 0 1
83 # e/i| Arr  [1]|  i |  N |  1  
84    0   -1    0    0    0    3    ## Arr == a
85    0    0   -1    1    0    0    ## [1] == i
87 # ----------------------------------------------  2.4 Statement Extensions
88 # Number of Statement Extensions
90 <body>
91 # Number of original iterators
93 # List of original iterators
95 # Statement body expression
96 a[i] = 0;
97 </body>
99 # =============================================== Statement 3
100 # Number of relations describing the statement:
103 # ----------------------------------------------  3.1 Domain
104 DOMAIN
105 4 5 1 0 1 1
106 # e/i|  i | l1 |  N |  1  
107    0    1   -3    0    0    ## i == 3*l1
108    1    1    0    0    0    ## i >= 0
109    1   -1    0    1   -3    ## -i+N-3 >= 0
110    1    0    0    1    0    ## N >= 0
112 # ----------------------------------------------  3.2 Scattering
113 SCATTERING
114 3 7 3 1 0 1
115 # e/i| c1   c2   c3 |  i |  N |  1  
116    0   -1    0    0    0    0    0    ## c1 == 0
117    0    0   -1    0    1    0    0    ## c2 == i
118    0    0    0   -1    0    0    3    ## c3 == 3
120 # ----------------------------------------------  3.3 Access
121 WRITE
122 2 6 2 1 0 1
123 # e/i| Arr  [1]|  i |  N |  1  
124    0   -1    0    0    0    3    ## Arr == a
125    0    0   -1    1    0    0    ## [1] == i
127 # ----------------------------------------------  3.4 Statement Extensions
128 # Number of Statement Extensions
130 <body>
131 # Number of original iterators
133 # List of original iterators
135 # Statement body expression
136 a[(i+1)] = 0;
137 </body>
139 # =============================================== Statement 4
140 # Number of relations describing the statement:
143 # ----------------------------------------------  4.1 Domain
144 DOMAIN
145 4 5 1 0 1 1
146 # e/i|  i | l1 |  N |  1  
147    0    1   -3    0    0    ## i == 3*l1
148    1    1    0    0    0    ## i >= 0
149    1   -1    0    1   -3    ## -i+N-3 >= 0
150    1    0    0    1    0    ## N >= 0
152 # ----------------------------------------------  4.2 Scattering
153 SCATTERING
154 3 7 3 1 0 1
155 # e/i| c1   c2   c3 |  i |  N |  1  
156    0   -1    0    0    0    0    0    ## c1 == 0
157    0    0   -1    0    1    0    0    ## c2 == i
158    0    0    0   -1    0    0    6    ## c3 == 6
160 # ----------------------------------------------  4.3 Access
161 WRITE
162 2 6 2 1 0 1
163 # e/i| Arr  [1]|  i |  N |  1  
164    0   -1    0    0    0    3    ## Arr == a
165    0    0   -1    1    0    0    ## [1] == i
167 # ----------------------------------------------  4.4 Statement Extensions
168 # Number of Statement Extensions
170 <body>
171 # Number of original iterators
173 # List of original iterators
175 # Statement body expression
176 a[(i+2)] = 0;
177 </body>
179 # =============================================== Statement 5
180 # Number of relations describing the statement:
183 # ----------------------------------------------  5.1 Domain
184 DOMAIN
185 4 5 1 0 1 1
186 # e/i|  i | l1 |  N |  1  
187    0    1   -3    0    0    ## i == 3*l1
188    1    1    0    0    0    ## i >= 0
189    1   -1    0    1   -3    ## -i+N-3 >= 0
190    1    0    0    1    0    ## N >= 0
192 # ----------------------------------------------  5.2 Scattering
193 SCATTERING
194 3 7 3 1 0 1
195 # e/i| c1   c2   c3 |  i |  N |  1  
196    0   -1    0    0    0    0    0    ## c1 == 0
197    0    0   -1    0    1    0    0    ## c2 == i
198    0    0    0   -1    0    0    1    ## c3 == 1
200 # ----------------------------------------------  5.3 Access
201 WRITE
202 2 6 2 1 0 1
203 # e/i| Arr  [1]|  i |  N |  1  
204    0   -1    0    0    0    4    ## Arr == b
205    0    0   -1    1    0    0    ## [1] == i
207 # ----------------------------------------------  5.4 Statement Extensions
208 # Number of Statement Extensions
210 <body>
211 # Number of original iterators
213 # List of original iterators
215 # Statement body expression
216 b[i] = 0;
217 </body>
219 # =============================================== Statement 6
220 # Number of relations describing the statement:
223 # ----------------------------------------------  6.1 Domain
224 DOMAIN
225 2 4 1 0 0 1
226 # e/i|  i |  N |  1  
227    1   -1    1    0    ## -i+N >= 0
228    1    0    1    0    ## N >= 0
230 # ----------------------------------------------  6.2 Scattering
231 SCATTERING
232 3 7 3 1 0 1
233 # e/i| c1   c2   c3 |  i |  N |  1  
234    0   -1    0    0    0    0    1    ## c1 == 1
235    0    0   -1    0    1    0    0    ## c2 == i
236    0    0    0   -1    0    0    1    ## c3 == 1
238 # ----------------------------------------------  6.3 Access
239 WRITE
240 2 6 2 1 0 1
241 # e/i| Arr  [1]|  i |  N |  1  
242    0   -1    0    0    0    4    ## Arr == b
243    0    0   -1    1    0    0    ## [1] == i
245 # ----------------------------------------------  6.4 Statement Extensions
246 # Number of Statement Extensions
248 <body>
249 # Number of original iterators
251 # List of original iterators
253 # Statement body expression
254 b[i] = 0;
255 </body>
257 # =============================================== Statement 7
258 # Number of relations describing the statement:
261 # ----------------------------------------------  7.1 Domain
262 DOMAIN
263 4 5 1 0 1 1
264 # e/i|  i | l1 |  N |  1  
265    0    1   -3    0    0    ## i == 3*l1
266    1    1    0    0    0    ## i >= 0
267    1   -1    0    1   -3    ## -i+N-3 >= 0
268    1    0    0    1    0    ## N >= 0
270 # ----------------------------------------------  7.2 Scattering
271 SCATTERING
272 3 7 3 1 0 1
273 # e/i| c1   c2   c3 |  i |  N |  1  
274    0   -1    0    0    0    0    0    ## c1 == 0
275    0    0   -1    0    1    0    0    ## c2 == i
276    0    0    0   -1    0    0    4    ## c3 == 4
278 # ----------------------------------------------  7.3 Access
279 WRITE
280 2 6 2 1 0 1
281 # e/i| Arr  [1]|  i |  N |  1  
282    0   -1    0    0    0    4    ## Arr == b
283    0    0   -1    1    0    0    ## [1] == i
285 # ----------------------------------------------  7.4 Statement Extensions
286 # Number of Statement Extensions
288 <body>
289 # Number of original iterators
291 # List of original iterators
293 # Statement body expression
294 b[(i+1)] = 0;
295 </body>
297 # =============================================== Statement 8
298 # Number of relations describing the statement:
301 # ----------------------------------------------  8.1 Domain
302 DOMAIN
303 4 5 1 0 1 1
304 # e/i|  i | l1 |  N |  1  
305    0    1   -3    0    0    ## i == 3*l1
306    1    1    0    0    0    ## i >= 0
307    1   -1    0    1   -3    ## -i+N-3 >= 0
308    1    0    0    1    0    ## N >= 0
310 # ----------------------------------------------  8.2 Scattering
311 SCATTERING
312 3 7 3 1 0 1
313 # e/i| c1   c2   c3 |  i |  N |  1  
314    0   -1    0    0    0    0    0    ## c1 == 0
315    0    0   -1    0    1    0    0    ## c2 == i
316    0    0    0   -1    0    0    7    ## c3 == 7
318 # ----------------------------------------------  8.3 Access
319 WRITE
320 2 6 2 1 0 1
321 # e/i| Arr  [1]|  i |  N |  1  
322    0   -1    0    0    0    4    ## Arr == b
323    0    0   -1    1    0    0    ## [1] == i
325 # ----------------------------------------------  8.4 Statement Extensions
326 # Number of Statement Extensions
328 <body>
329 # Number of original iterators
331 # List of original iterators
333 # Statement body expression
334 b[(i+2)] = 0;
335 </body>
337 # =============================================== Statement 9
338 # Number of relations describing the statement:
341 # ----------------------------------------------  9.1 Domain
342 DOMAIN
343 4 5 1 0 1 1
344 # e/i|  i | l1 |  N |  1  
345    0    1   -3    0    0    ## i == 3*l1
346    1    1    0    0    0    ## i >= 0
347    1   -1    0    1   -3    ## -i+N-3 >= 0
348    1    0    0    1    0    ## N >= 0
350 # ----------------------------------------------  9.2 Scattering
351 SCATTERING
352 3 7 3 1 0 1
353 # e/i| c1   c2   c3 |  i |  N |  1  
354    0   -1    0    0    0    0    0    ## c1 == 0
355    0    0   -1    0    1    0    0    ## c2 == i
356    0    0    0   -1    0    0    2    ## c3 == 2
358 # ----------------------------------------------  9.3 Access
359 WRITE
360 2 6 2 1 0 1
361 # e/i| Arr  [1]|  i |  N |  1  
362    0   -1    0    0    0    5    ## Arr == c
363    0    0   -1    1    0    0    ## [1] == i
365 # ----------------------------------------------  9.4 Statement Extensions
366 # Number of Statement Extensions
368 <body>
369 # Number of original iterators
371 # List of original iterators
373 # Statement body expression
374 c[i] = 0;
375 </body>
377 # =============================================== Statement 10
378 # Number of relations describing the statement:
381 # ---------------------------------------------- 10.1 Domain
382 DOMAIN
383 2 4 1 0 0 1
384 # e/i|  i |  N |  1  
385    1   -1    1    0    ## -i+N >= 0
386    1    0    1    0    ## N >= 0
388 # ---------------------------------------------- 10.2 Scattering
389 SCATTERING
390 3 7 3 1 0 1
391 # e/i| c1   c2   c3 |  i |  N |  1  
392    0   -1    0    0    0    0    1    ## c1 == 1
393    0    0   -1    0    1    0    0    ## c2 == i
394    0    0    0   -1    0    0    2    ## c3 == 2
396 # ---------------------------------------------- 10.3 Access
397 WRITE
398 2 6 2 1 0 1
399 # e/i| Arr  [1]|  i |  N |  1  
400    0   -1    0    0    0    5    ## Arr == c
401    0    0   -1    1    0    0    ## [1] == i
403 # ---------------------------------------------- 10.4 Statement Extensions
404 # Number of Statement Extensions
406 <body>
407 # Number of original iterators
409 # List of original iterators
411 # Statement body expression
412 c[i] = 0;
413 </body>
415 # =============================================== Statement 11
416 # Number of relations describing the statement:
419 # ---------------------------------------------- 11.1 Domain
420 DOMAIN
421 4 5 1 0 1 1
422 # e/i|  i | l1 |  N |  1  
423    0    1   -3    0    0    ## i == 3*l1
424    1    1    0    0    0    ## i >= 0
425    1   -1    0    1   -3    ## -i+N-3 >= 0
426    1    0    0    1    0    ## N >= 0
428 # ---------------------------------------------- 11.2 Scattering
429 SCATTERING
430 3 7 3 1 0 1
431 # e/i| c1   c2   c3 |  i |  N |  1  
432    0   -1    0    0    0    0    0    ## c1 == 0
433    0    0   -1    0    1    0    0    ## c2 == i
434    0    0    0   -1    0    0    5    ## c3 == 5
436 # ---------------------------------------------- 11.3 Access
437 WRITE
438 2 6 2 1 0 1
439 # e/i| Arr  [1]|  i |  N |  1  
440    0   -1    0    0    0    5    ## Arr == c
441    0    0   -1    1    0    0    ## [1] == i
443 # ---------------------------------------------- 11.4 Statement Extensions
444 # Number of Statement Extensions
446 <body>
447 # Number of original iterators
449 # List of original iterators
451 # Statement body expression
452 c[(i+1)] = 0;
453 </body>
455 # =============================================== Statement 12
456 # Number of relations describing the statement:
459 # ---------------------------------------------- 12.1 Domain
460 DOMAIN
461 4 5 1 0 1 1
462 # e/i|  i | l1 |  N |  1  
463    0    1   -3    0    0    ## i == 3*l1
464    1    1    0    0    0    ## i >= 0
465    1   -1    0    1   -3    ## -i+N-3 >= 0
466    1    0    0    1    0    ## N >= 0
468 # ---------------------------------------------- 12.2 Scattering
469 SCATTERING
470 3 7 3 1 0 1
471 # e/i| c1   c2   c3 |  i |  N |  1  
472    0   -1    0    0    0    0    0    ## c1 == 0
473    0    0   -1    0    1    0    0    ## c2 == i
474    0    0    0   -1    0    0    8    ## c3 == 8
476 # ---------------------------------------------- 12.3 Access
477 WRITE
478 2 6 2 1 0 1
479 # e/i| Arr  [1]|  i |  N |  1  
480    0   -1    0    0    0    5    ## Arr == c
481    0    0   -1    1    0    0    ## [1] == i
483 # ---------------------------------------------- 12.4 Statement Extensions
484 # Number of Statement Extensions
486 <body>
487 # Number of original iterators
489 # List of original iterators
491 # Statement body expression
492 c[(i+2)] = 0;
493 </body>
495 # =============================================== Extensions
496 <scatnames>
497 b0 i b1
498 </scatnames>
500 <arrays>
501 # Number of arrays
503 # Mapping array-identifiers/array-names
504 1 i
505 2 N
506 3 a
507 4 b
508 5 c
509 </arrays>
511 <coordinates>
512 # File name
513 ./unitary/unroll1.c
514 # Starting line and column
515 2 0
516 # Ending line and column
517 10 0
518 # Indentation
520 </coordinates>
522 </OpenScop>