Merge branch 'master' of github.com:periscop/clay
[clay.git] / tests / unitary / reverse_loop1.c.clay.scop
blob1655232cd74e49fdac30599e8571d3a003f168fb
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 5 11 5 2 0 2
78 # e/i| c1   c2   c3   c4   c5 |  i    j |  N    M |  1  
79    0   -1    0    0    0    0    0    0    0    0    0    ## c1 == 0
80    0    0    1    0    0    0    1    0    0    0    0    ## c2 == -i
81    0    0    0   -1    0    0    0    0    0    0    1    ## c3 == 1
82    0    0    0    0   -1    0    0    1    0    0    0    ## c4 == j
83    0    0    0    0    0   -1    0    0    0    0    0    ## c5 == 0
85 # ----------------------------------------------  2.3 Access
86 WRITE
87 3 9 3 2 0 2
88 # e/i| Arr  [1]  [2]|  i    j |  N    M |  1  
89    0   -1    0    0    0    0    0    0    6    ## Arr == b
90    0    0   -1    0    1    0    0    0    0    ## [1] == i
91    0    0    0   -1    0    1    0    0    0    ## [2] == j
93 # ----------------------------------------------  2.4 Statement Extensions
94 # Number of Statement Extensions
96 <body>
97 # Number of original iterators
99 # List of original iterators
100 i j
101 # Statement body expression
102 b[i][j] = 0;
103 </body>
105 # =============================================== Statement 3
106 # Number of relations describing the statement:
109 # ----------------------------------------------  3.1 Domain
110 DOMAIN
111 6 6 2 0 0 2
112 # e/i|  i    j |  N    M |  1  
113    1    1    0    0    0    0    ## i >= 0
114    1   -1    0    1    0    0    ## -i+N >= 0
115    1    0    0    1    0    0    ## N >= 0
116    1    0    1    0    0    0    ## j >= 0
117    1    0   -1    0    1    0    ## -j+M >= 0
118    1    0    0    0    1    0    ## M >= 0
120 # ----------------------------------------------  3.2 Scattering
121 SCATTERING
122 5 11 5 2 0 2
123 # e/i| c1   c2   c3   c4   c5 |  i    j |  N    M |  1  
124    0   -1    0    0    0    0    0    0    0    0    0    ## c1 == 0
125    0    0    1    0    0    0    1    0    0    0    0    ## c2 == -i
126    0    0    0   -1    0    0    0    0    0    0    1    ## c3 == 1
127    0    0    0    0   -1    0    0    1    0    0    0    ## c4 == j
128    0    0    0    0    0   -1    0    0    0    0    1    ## c5 == 1
130 # ----------------------------------------------  3.3 Access
131 WRITE
132 3 9 3 2 0 2
133 # e/i| Arr  [1]  [2]|  i    j |  N    M |  1  
134    0   -1    0    0    0    0    0    0    7    ## Arr == c
135    0    0   -1    0    1    0    0    0    0    ## [1] == i
136    0    0    0   -1    0    1    0    0    0    ## [2] == j
138 # ----------------------------------------------  3.4 Statement Extensions
139 # Number of Statement Extensions
141 <body>
142 # Number of original iterators
144 # List of original iterators
145 i j
146 # Statement body expression
147 c[i][j] = 0;
148 </body>
150 # =============================================== Statement 4
151 # Number of relations describing the statement:
154 # ----------------------------------------------  4.1 Domain
155 DOMAIN
156 6 6 2 0 0 2
157 # e/i|  i    j |  N    M |  1  
158    1    1    0    0    0    0    ## i >= 0
159    1   -1    0    1    0    0    ## -i+N >= 0
160    1    0    0    1    0    0    ## N >= 0
161    1    0    1    0    0    0    ## j >= 0
162    1    0   -1    0    1    0    ## -j+M >= 0
163    1    0    0    0    1    0    ## M >= 0
165 # ----------------------------------------------  4.2 Scattering
166 SCATTERING
167 5 11 5 2 0 2
168 # e/i| c1   c2   c3   c4   c5 |  i    j |  N    M |  1  
169    0   -1    0    0    0    0    0    0    0    0    0    ## c1 == 0
170    0    0    1    0    0    0    1    0    0    0    0    ## c2 == -i
171    0    0    0   -1    0    0    0    0    0    0    1    ## c3 == 1
172    0    0    0    0   -1    0    0    1    0    0    0    ## c4 == j
173    0    0    0    0    0   -1    0    0    0    0    2    ## c5 == 2
175 # ----------------------------------------------  4.3 Access
176 WRITE
177 3 9 3 2 0 2
178 # e/i| Arr  [1]  [2]|  i    j |  N    M |  1  
179    0   -1    0    0    0    0    0    0    8    ## Arr == d
180    0    0   -1    0    1    0    0    0    0    ## [1] == i
181    0    0    0   -1    0    1    0    0    0    ## [2] == j
183 # ----------------------------------------------  4.4 Statement Extensions
184 # Number of Statement Extensions
186 <body>
187 # Number of original iterators
189 # List of original iterators
190 i j
191 # Statement body expression
192 d[i][j] = 0;
193 </body>
195 # =============================================== Extensions
196 <scatnames>
197 b0 i b1 j b2
198 </scatnames>
200 <arrays>
201 # Number of arrays
203 # Mapping array-identifiers/array-names
204 1 i
205 2 N
206 3 a
207 4 j
208 5 M
209 6 b
210 7 c
211 8 d
212 </arrays>
214 <coordinates>
215 # File name
216 ./unitary/reverse_loop1.c
217 # Starting line and column
218 2 0
219 # Ending line and column
220 13 0
221 # Indentation
223 </coordinates>
225 </OpenScop>