Merge branch 'master' of github.com:periscop/clay
[clay.git] / tests / unitary / iss_loop2.c.clay.scop
blobc1945295fdb1665ced9c736f507687d88a2ab05e
2 <OpenScop>
4 # =============================================== Global
5 # Language
8 # Context
9 CONTEXT
10 0 4 0 0 0 2
12 # Parameters are provided
14 <strings>
15 N M
16 </strings>
18 # Number of statements
21 # =============================================== Statement 1
22 # Number of relations describing the statement:
25 # ----------------------------------------------  1.1 Domain
26 DOMAIN
27 3 5 1 0 0 2
28 # e/i|  i |  N    M |  1  
29    1    1    0    0    0    ## i >= 0
30    1   -1    1    0    0    ## -i+N >= 0
31    1    0    1    0    0    ## N >= 0
33 # ----------------------------------------------  1.2 Scattering
34 SCATTERING
35 3 8 3 1 0 2
36 # e/i| c1   c2   c3 |  i |  N    M |  1  
37    0   -1    0    0    0    0    0    0    ## c1 == 0
38    0    0   -1    0    1    0    0    0    ## c2 == i
39    0    0    0   -1    0    0    0    0    ## c3 == 0
41 # ----------------------------------------------  1.3 Access
42 WRITE
43 2 7 2 1 0 2
44 # e/i| Arr  [1]|  i |  N    M |  1  
45    0   -1    0    0    0    0    3    ## Arr == a
46    0    0   -1    1    0    0    0    ## [1] == i
48 # ----------------------------------------------  1.4 Statement Extensions
49 # Number of Statement Extensions
51 <body>
52 # Number of original iterators
54 # List of original iterators
56 # Statement body expression
57 a[i] = 0;
58 </body>
60 # =============================================== Statement 2
61 # Number of relations describing the statement:
64 # ----------------------------------------------  2.1 Domain
65 DOMAIN
66 6 6 2 0 0 2
67 # e/i|  i    j |  N    M |  1  
68    1    1    0    0    0    0    ## i >= 0
69    1   -1    0    1    0    0    ## -i+N >= 0
70    1    0    0    1    0    0    ## N >= 0
71    1    0    1    0    0    0    ## j >= 0
72    1    0   -1    0    1    0    ## -j+M >= 0
73    1    0    0    0    1    0    ## M >= 0
75 # ----------------------------------------------  2.2 Scattering
76 SCATTERING
77 # Union with 2 parts
79 # Union part No.1
80 6 11 5 2 0 2
81 # e/i| c1   c2   c3   c4   c5 |  i    j |  N    M |  1  
82    0   -1    0    0    0    0    0    0    0    0    0    ## c1 == 0
83    0    0   -1    0    0    0    1    0    0    0    0    ## c2 == i
84    0    0    0   -1    0    0    0    0    0    0    1    ## c3 == 1
85    0    0    0    0   -1    0    0    1    0    0    0    ## c4 == j
86    0    0    0    0    0   -1    0    0    0    0    2    ## c5 == 2
87    1    0    0    0    1    0    0    0    0    0  -10    ## c4-10 >= 0
88 # Union part No.2
89 6 11 5 2 0 2
90 # e/i| c1   c2   c3   c4   c5 |  i    j |  N    M |  1  
91    0   -1    0    0    0    0    0    0    0    0    0    ## c1 == 0
92    0    0   -1    0    0    0    1    0    0    0    0    ## c2 == i
93    0    0    0   -1    0    0    0    0    0    0    1    ## c3 == 1
94    0    0    0    0   -1    0    0    1    0    0    0    ## c4 == j
95    0    0    0    0    0   -1    0    0    0    0    0    ## c5 == 0
96    1    0    0    0   -1    0    0    0    0    0    9    ## -c4+9 >= 0
98 # ----------------------------------------------  2.3 Access
99 WRITE
100 3 9 3 2 0 2
101 # e/i| Arr  [1]  [2]|  i    j |  N    M |  1  
102    0   -1    0    0    0    0    0    0    6    ## Arr == b
103    0    0   -1    0    1    0    0    0    0    ## [1] == i
104    0    0    0   -1    0    1    0    0    0    ## [2] == j
106 # ----------------------------------------------  2.4 Statement Extensions
107 # Number of Statement Extensions
109 <body>
110 # Number of original iterators
112 # List of original iterators
113 i j
114 # Statement body expression
115 b[i][j] = 0;
116 </body>
118 # =============================================== Statement 3
119 # Number of relations describing the statement:
122 # ----------------------------------------------  3.1 Domain
123 DOMAIN
124 6 6 2 0 0 2
125 # e/i|  i    j |  N    M |  1  
126    1    1    0    0    0    0    ## i >= 0
127    1   -1    0    1    0    0    ## -i+N >= 0
128    1    0    0    1    0    0    ## N >= 0
129    1    0    1    0    0    0    ## j >= 0
130    1    0   -1    0    1    0    ## -j+M >= 0
131    1    0    0    0    1    0    ## M >= 0
133 # ----------------------------------------------  3.2 Scattering
134 SCATTERING
135 # Union with 2 parts
137 # Union part No.1
138 6 11 5 2 0 2
139 # e/i| c1   c2   c3   c4   c5 |  i    j |  N    M |  1  
140    0   -1    0    0    0    0    0    0    0    0    0    ## c1 == 0
141    0    0   -1    0    0    0    1    0    0    0    0    ## c2 == i
142    0    0    0   -1    0    0    0    0    0    0    1    ## c3 == 1
143    0    0    0    0   -1    0    0    1    0    0    0    ## c4 == j
144    0    0    0    0    0   -1    0    0    0    0    3    ## c5 == 3
145    1    0    0    0    1    0    0    0    0    0  -10    ## c4-10 >= 0
146 # Union part No.2
147 6 11 5 2 0 2
148 # e/i| c1   c2   c3   c4   c5 |  i    j |  N    M |  1  
149    0   -1    0    0    0    0    0    0    0    0    0    ## c1 == 0
150    0    0   -1    0    0    0    1    0    0    0    0    ## c2 == i
151    0    0    0   -1    0    0    0    0    0    0    1    ## c3 == 1
152    0    0    0    0   -1    0    0    1    0    0    0    ## c4 == j
153    0    0    0    0    0   -1    0    0    0    0    1    ## c5 == 1
154    1    0    0    0   -1    0    0    0    0    0    9    ## -c4+9 >= 0
156 # ----------------------------------------------  3.3 Access
157 WRITE
158 3 9 3 2 0 2
159 # e/i| Arr  [1]  [2]|  i    j |  N    M |  1  
160    0   -1    0    0    0    0    0    0    7    ## Arr == c
161    0    0   -1    0    1    0    0    0    0    ## [1] == i
162    0    0    0   -1    0    1    0    0    0    ## [2] == j
164 # ----------------------------------------------  3.4 Statement Extensions
165 # Number of Statement Extensions
167 <body>
168 # Number of original iterators
170 # List of original iterators
171 i j
172 # Statement body expression
173 c[i][j] = 0;
174 </body>
176 # =============================================== Statement 4
177 # Number of relations describing the statement:
180 # ----------------------------------------------  4.1 Domain
181 DOMAIN
182 3 5 1 0 0 2
183 # e/i|  i |  N    M |  1  
184    1    1    0    0    0    ## i >= 0
185    1   -1    1    0    0    ## -i+N >= 0
186    1    0    1    0    0    ## N >= 0
188 # ----------------------------------------------  4.2 Scattering
189 SCATTERING
190 3 8 3 1 0 2
191 # e/i| c1   c2   c3 |  i |  N    M |  1  
192    0   -1    0    0    0    0    0    0    ## c1 == 0
193    0    0   -1    0    1    0    0    0    ## c2 == i
194    0    0    0   -1    0    0    0    2    ## c3 == 2
196 # ----------------------------------------------  4.3 Access
197 WRITE
198 2 7 2 1 0 2
199 # e/i| Arr  [1]|  i |  N    M |  1  
200    0   -1    0    0    0    0    8    ## Arr == d
201    0    0   -1    1    0    0    0    ## [1] == i
203 # ----------------------------------------------  4.4 Statement Extensions
204 # Number of Statement Extensions
206 <body>
207 # Number of original iterators
209 # List of original iterators
211 # Statement body expression
212 d[i] = 0;
213 </body>
215 # =============================================== Statement 5
216 # Number of relations describing the statement:
219 # ----------------------------------------------  5.1 Domain
220 DOMAIN
221 0 4 0 0 0 2
223 # ----------------------------------------------  5.2 Scattering
224 SCATTERING
225 1 5 1 0 0 2
226 # e/i| c1 |  N    M |  1  
227    0   -1    0    0    1    ## c1 == 1
229 # ----------------------------------------------  5.3 Access
230 WRITE
231 1 5 1 0 0 2
232 # e/i| Arr|  N    M |  1  
233    0   -1    0    0    9    ## Arr == e
235 # ----------------------------------------------  5.4 Statement Extensions
236 # Number of Statement Extensions
238 <body>
239 # Number of original iterators
241 # Statement body expression
242 e = 0;
243 </body>
245 # =============================================== Extensions
246 <scatnames>
247 b0 i b1 j b2
248 </scatnames>
250 <arrays>
251 # Number of arrays
253 # Mapping array-identifiers/array-names
254 1 i
255 2 N
256 3 a
257 4 j
258 5 M
259 6 b
260 7 c
261 8 d
262 9 e
263 </arrays>
265 <coordinates>
266 # File name
267 ./unitary/iss_loop2.c
268 # Starting line and column
269 2 0
270 # Ending line and column
271 14 0
272 # Indentation
274 </coordinates>
276 </OpenScop>