Merge branch 'master' of github.com:periscop/clay
[clay.git] / tests / unitary / interchange_statement.c.clay.scop
blob2cbe689678ec3c4ac7bce1ac23223fbc90df1c3a
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 9 8 3 0 0 3
28 # e/i|  i    j    k |  N    M    P |  1  
29    1    1    0    0    0    0    0    0    ## i >= 0
30    1   -1    0    0    1    0    0    0    ## -i+N >= 0
31    1    0    0    0    1    0    0    0    ## N >= 0
32    1    0    1    0    0    0    0    0    ## j >= 0
33    1    0   -1    0    0    1    0    0    ## -j+M >= 0
34    1    0    0    0    0    1    0    0    ## M >= 0
35    1    0    0    1    0    0    0    0    ## k >= 0
36    1    0    0   -1    0    0    1    0    ## -k+P >= 0
37    1    0    0    0    0    0    1    0    ## P >= 0
39 # ----------------------------------------------  1.2 Scattering
40 SCATTERING
41 7 15 7 3 0 3
42 # e/i| c1   c2   c3   c4   c5   c6   c7 |  i    j    k |  N    M    P |  1  
43    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    ## c1 == 0
44    0    0   -1    0    0    0    0    0    1    0    0    0    0    0    0    ## c2 == i
45    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    ## c3 == 0
46    0    0    0    0   -1    0    0    0    0    1    0    0    0    0    0    ## c4 == j
47    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    ## c5 == 0
48    0    0    0    0    0    0   -1    0    0    0    1    0    0    0    0    ## c6 == k
49    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    ## c7 == 0
51 # ----------------------------------------------  1.3 Access
52 WRITE
53 4 12 4 3 0 3
54 # e/i| Arr  [1]  [2]  [3]|  i    j    k |  N    M    P |  1  
55    0   -1    0    0    0    0    0    0    0    0    0    7    ## Arr == a
56    0    0   -1    0    0    1    0    0    0    0    0    0    ## [1] == i
57    0    0    0   -1    0    0    1    0    0    0    0    0    ## [2] == j
58    0    0    0    0   -1    0    0    1    0    0    0    0    ## [3] == k
60 # ----------------------------------------------  1.4 Statement Extensions
61 # Number of Statement Extensions
63 <body>
64 # Number of original iterators
66 # List of original iterators
67 i j k
68 # Statement body expression
69 a[i][j][k] = 0;
70 </body>
72 # =============================================== Statement 2
73 # Number of relations describing the statement:
76 # ----------------------------------------------  2.1 Domain
77 DOMAIN
78 9 8 3 0 0 3
79 # e/i|  i    j    k |  N    M    P |  1  
80    1    1    0    0    0    0    0    0    ## i >= 0
81    1   -1    0    0    1    0    0    0    ## -i+N >= 0
82    1    0    0    0    1    0    0    0    ## N >= 0
83    1    0    1    0    0    0    0    0    ## j >= 0
84    1    0   -1    0    0    1    0    0    ## -j+M >= 0
85    1    0    0    0    0    1    0    0    ## M >= 0
86    1    0    0    1    0    0    0    0    ## k >= 0
87    1    0    0   -1    0    0    1    0    ## -k+P >= 0
88    1    0    0    0    0    0    1    0    ## P >= 0
90 # ----------------------------------------------  2.2 Scattering
91 SCATTERING
92 7 15 7 3 0 3
93 # e/i| c1   c2   c3   c4   c5   c6   c7 |  i    j    k |  N    M    P |  1  
94    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    ## c1 == 0
95    0    0    0    0    0    0   -1    0    1    0    0    0    0    0    0    ## c6 == i
96    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    ## c3 == 0
97    0    0    0    0   -1    0    0    0    0    1    0    0    0    0    0    ## c4 == j
98    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    ## c5 == 0
99    0    0   -1    0    0    0    0    0    0    0    1    0    0    0    0    ## c2 == k
100    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    1    ## c7 == 1
102 # ----------------------------------------------  2.3 Access
103 WRITE
104 4 12 4 3 0 3
105 # e/i| Arr  [1]  [2]  [3]|  i    j    k |  N    M    P |  1  
106    0   -1    0    0    0    0    0    0    0    0    0    8    ## Arr == b
107    0    0   -1    0    0    1    0    0    0    0    0    0    ## [1] == i
108    0    0    0   -1    0    0    1    0    0    0    0    0    ## [2] == j
109    0    0    0    0   -1    0    0    1    0    0    0    0    ## [3] == k
111 # ----------------------------------------------  2.4 Statement Extensions
112 # Number of Statement Extensions
114 <body>
115 # Number of original iterators
117 # List of original iterators
118 i j k
119 # Statement body expression
120 b[i][j][k] = 0;
121 </body>
123 # =============================================== Statement 3
124 # Number of relations describing the statement:
127 # ----------------------------------------------  3.1 Domain
128 DOMAIN
129 9 8 3 0 0 3
130 # e/i|  i    j    k |  N    M    P |  1  
131    1    1    0    0    0    0    0    0    ## i >= 0
132    1   -1    0    0    1    0    0    0    ## -i+N >= 0
133    1    0    0    0    1    0    0    0    ## N >= 0
134    1    0    1    0    0    0    0    0    ## j >= 0
135    1    0   -1    0    0    1    0    0    ## -j+M >= 0
136    1    0    0    0    0    1    0    0    ## M >= 0
137    1    0    0    1    0    0    0    0    ## k >= 0
138    1    0    0   -1    0    0    1    0    ## -k+P >= 0
139    1    0    0    0    0    0    1    0    ## P >= 0
141 # ----------------------------------------------  3.2 Scattering
142 SCATTERING
143 7 15 7 3 0 3
144 # e/i| c1   c2   c3   c4   c5   c6   c7 |  i    j    k |  N    M    P |  1  
145    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    ## c1 == 0
146    0    0   -1    0    0    0    0    0    1    0    0    0    0    0    0    ## c2 == i
147    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    ## c3 == 0
148    0    0    0    0   -1    0    0    0    0    1    0    0    0    0    0    ## c4 == j
149    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    ## c5 == 0
150    0    0    0    0    0    0   -1    0    0    0    1    0    0    0    0    ## c6 == k
151    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    2    ## c7 == 2
153 # ----------------------------------------------  3.3 Access
154 WRITE
155 4 12 4 3 0 3
156 # e/i| Arr  [1]  [2]  [3]|  i    j    k |  N    M    P |  1  
157    0   -1    0    0    0    0    0    0    0    0    0    9    ## Arr == c
158    0    0   -1    0    0    1    0    0    0    0    0    0    ## [1] == i
159    0    0    0   -1    0    0    1    0    0    0    0    0    ## [2] == j
160    0    0    0    0   -1    0    0    1    0    0    0    0    ## [3] == k
162 # ----------------------------------------------  3.4 Statement Extensions
163 # Number of Statement Extensions
165 <body>
166 # Number of original iterators
168 # List of original iterators
169 i j k
170 # Statement body expression
171 c[i][j][k] = 0;
172 </body>
174 # =============================================== Extensions
175 <scatnames>
176 b0 i b1 j b2 k b3
177 </scatnames>
179 <arrays>
180 # Number of arrays
182 # Mapping array-identifiers/array-names
183 1 i
184 2 N
185 3 j
186 4 M
187 5 k
188 6 P
189 7 a
190 8 b
191 9 c
192 </arrays>
194 <coordinates>
195 # File name
196 ./unitary/interchange_statement.c
197 # Starting line and column
198 2 0
199 # Ending line and column
200 14 0
201 # Indentation
203 </coordinates>
205 </OpenScop>