Support for scattering relation unions
[clay.git] / tests / unitary / reorder_swap_loops.c.clay.scop
blobde152cf9f87ae3faec7a0856d5b1ce488593a305
2 <OpenScop>
4 # =============================================== Global
5 # Language
8 # Context
9 CONTEXT
10 0 5 0 0 0 3
12 # Parameters are provided
14 <strings>
15 N M P
16 </strings>
18 # Number of statements
21 # =============================================== Statement 1
22 # Number of relations describing the statement:
25 # ----------------------------------------------  1.1 Domain
26 DOMAIN
27 0 5 0 0 0 3
29 # ----------------------------------------------  1.2 Scattering
30 SCATTERING
31 1 6 1 0 0 3
32 # e/i| c1 |  N    M    P |  1  
33    0   -1    0    0    0    0    ## c1 == 0
35 # ----------------------------------------------  1.3 Access
36 WRITE
37 1 6 1 0 0 3
38 # e/i| Arr|  N    M    P |  1  
39    0   -1    0    0    0    1    ## Arr == a
41 # ----------------------------------------------  1.4 Statement Extensions
42 # Number of Statement Extensions
44 <body>
45 # Number of original iterators
47 # Statement body expression
48 a = 0;
49 </body>
51 # =============================================== Statement 2
52 # Number of relations describing the statement:
55 # ----------------------------------------------  2.1 Domain
56 DOMAIN
57 3 6 1 0 0 3
58 # e/i|  i |  N    M    P |  1  
59    1    1    0    0    0    0    ## i >= 0
60    1   -1    1    0    0    0    ## -i+N >= 0
61    1    0    1    0    0    0    ## N >= 0
63 # ----------------------------------------------  2.2 Scattering
64 SCATTERING
65 3 9 3 1 0 3
66 # e/i| c1   c2   c3 |  i |  N    M    P |  1  
67    0   -1    0    0    0    0    0    0    1    ## c1 == 1
68    0    0   -1    0    1    0    0    0    0    ## c2 == i
69    0    0    0   -1    0    0    0    0    0    ## c3 == 0
71 # ----------------------------------------------  2.3 Access
72 WRITE
73 2 8 2 1 0 3
74 # e/i| Arr  [1]|  i |  N    M    P |  1  
75    0   -1    0    0    0    0    0    4    ## Arr == b
76    0    0   -1    1    0    0    0    0    ## [1] == i
78 # ----------------------------------------------  2.4 Statement Extensions
79 # Number of Statement Extensions
81 <body>
82 # Number of original iterators
84 # List of original iterators
86 # Statement body expression
87 b[i] = 0;
88 </body>
90 # =============================================== Statement 3
91 # Number of relations describing the statement:
94 # ----------------------------------------------  3.1 Domain
95 DOMAIN
96 6 7 2 0 0 3
97 # e/i|  i    j |  N    M    P |  1  
98    1    1    0    0    0    0    0    ## i >= 0
99    1   -1    0    1    0    0    0    ## -i+N >= 0
100    1    0    0    1    0    0    0    ## N >= 0
101    1    0    1    0    0    0    0    ## j >= 0
102    1    0   -1    0    1    0    0    ## -j+M >= 0
103    1    0    0    0    1    0    0    ## M >= 0
105 # ----------------------------------------------  3.2 Scattering
106 SCATTERING
107 5 12 5 2 0 3
108 # e/i| c1   c2   c3   c4   c5 |  i    j |  N    M    P |  1  
109    0   -1    0    0    0    0    0    0    0    0    0    1    ## c1 == 1
110    0    0   -1    0    0    0    1    0    0    0    0    0    ## c2 == i
111    0    0    0   -1    0    0    0    0    0    0    0    2    ## c3 == 2
112    0    0    0    0   -1    0    0    1    0    0    0    0    ## c4 == j
113    0    0    0    0    0   -1    0    0    0    0    0    0    ## c5 == 0
115 # ----------------------------------------------  3.3 Access
116 WRITE
117 3 10 3 2 0 3
118 # e/i| Arr  [1]  [2]|  i    j |  N    M    P |  1  
119    0   -1    0    0    0    0    0    0    0    7    ## Arr == c
120    0    0   -1    0    1    0    0    0    0    0    ## [1] == i
121    0    0    0   -1    0    1    0    0    0    0    ## [2] == j
123 # ----------------------------------------------  3.4 Statement Extensions
124 # Number of Statement Extensions
126 <body>
127 # Number of original iterators
129 # List of original iterators
130 i j
131 # Statement body expression
132 c[i][j] = 0;
133 </body>
135 # =============================================== Statement 4
136 # Number of relations describing the statement:
139 # ----------------------------------------------  4.1 Domain
140 DOMAIN
141 6 7 2 0 0 3
142 # e/i|  i    k |  N    M    P |  1  
143    1    1    0    0    0    0    0    ## i >= 0
144    1   -1    0    1    0    0    0    ## -i+N >= 0
145    1    0    0    1    0    0    0    ## N >= 0
146    1    0    1    0    0    0    0    ## k >= 0
147    1    0   -1    0    0    1    0    ## -k+P >= 0
148    1    0    0    0    0    1    0    ## P >= 0
150 # ----------------------------------------------  4.2 Scattering
151 SCATTERING
152 5 12 5 2 0 3
153 # e/i| c1   c2   c3   c4   c5 |  i    k |  N    M    P |  1  
154    0   -1    0    0    0    0    0    0    0    0    0    1    ## c1 == 1
155    0    0   -1    0    0    0    1    0    0    0    0    0    ## c2 == i
156    0    0    0   -1    0    0    0    0    0    0    0    1    ## c3 == 1
157    0    0    0    0   -1    0    0    1    0    0    0    0    ## c4 == k
158    0    0    0    0    0   -1    0    0    0    0    0    0    ## c5 == 0
160 # ----------------------------------------------  4.3 Access
161 WRITE
162 3 10 3 2 0 3
163 # e/i| Arr  [1]  [2]|  i    k |  N    M    P |  1  
164    0   -1    0    0    0    0    0    0    0   10    ## Arr == d
165    0    0   -1    0    1    0    0    0    0    0    ## [1] == i
166    0    0    0   -1    0    1    0    0    0    0    ## [2] == k
168 # ----------------------------------------------  4.4 Statement Extensions
169 # Number of Statement Extensions
171 <body>
172 # Number of original iterators
174 # List of original iterators
175 i k
176 # Statement body expression
177 d[i][k] = 0;
178 </body>
180 # =============================================== Extensions
181 <scatnames>
182 b0 i b1 j b2
183 </scatnames>
185 <arrays>
186 # Number of arrays
188 # Mapping array-identifiers/array-names
189 1 a
190 2 i
191 3 N
192 4 b
193 5 j
194 6 M
195 7 c
196 8 k
197 9 P
198 10 d
199 </arrays>
201 <coordinates>
202 # File name
203 ./unitary/reorder_swap_loops.c
204 # Starting line and column
205 2 0
206 # Ending line and column
207 15 0
208 # Indentation
210 </coordinates>
212 </OpenScop>