6 # A | # Clan McCloog Castle
7 # /.\ [""M# [Generated by Clan 0.7.0]
20 # :::::::::SUNDOGa8a::::. ..
21 # :::::8::::888:Y8888:::::::::...
22 #::':::88::::888::Y88a______________________________________________________
23 #:: ::::88a::::88a:Y88a __---__-- __
24 #' .: ::Y88a:::::8a:Y88a __----_-- -------_-__
25 # :' ::::8P::::::::::88aa. _ _- -- --_ --- __ --- __--
26 #.:: :::::::::::::::::::Y88as88a...s88aa.
28 # [File generated by the OpenScop Library 0.8.3]
32 # =============================================== Global
40 # Parameters are provided
46 # Number of statements
49 # =============================================== Statement 1
50 # Number of relations describing the statement:
53 # ---------------------------------------------- 1.1 Domain
58 1 -1 0 1 -1 ## -i+N-1 >= 0
59 1 0 0 1 -1 ## N-1 >= 0
61 1 0 -1 1 -1 ## -j+N-1 >= 0
63 # ---------------------------------------------- 1.2 Scattering
66 # e/i| c1 c2 c3 c4 c5 | i j | N | 1
67 0 -1 0 0 0 0 0 0 0 0 ## c1 == 0
68 0 0 -1 0 0 0 1 0 0 0 ## c2 == i
69 0 0 0 -1 0 0 0 0 0 0 ## c3 == 0
70 0 0 0 0 -1 0 0 1 0 0 ## c4 == j
71 0 0 0 0 0 -1 0 0 0 0 ## c5 == 0
73 # ---------------------------------------------- 1.3 Access
76 # e/i| Arr [1] [2]| i j | N | 1
77 0 -1 0 0 0 0 0 4 ## Arr == A
78 0 0 -1 0 1 0 0 0 ## [1] == i
79 0 0 0 -1 0 1 0 0 ## [2] == j
83 # e/i| Arr [1] [2]| i j | N | 1
84 0 -1 0 0 0 0 0 4 ## Arr == A
85 0 0 -1 0 1 0 0 0 ## [1] == i
86 0 0 0 -1 0 1 0 0 ## [2] == j
90 # e/i| Arr [1]| i j | N | 1
91 0 -1 0 0 0 0 5 ## Arr == u1
92 0 0 -1 1 0 0 0 ## [1] == i
96 # e/i| Arr [1]| i j | N | 1
97 0 -1 0 0 0 0 6 ## Arr == v1
98 0 0 -1 0 1 0 0 ## [1] == j
102 # e/i| Arr [1]| i j | N | 1
103 0 -1 0 0 0 0 7 ## Arr == u2
104 0 0 -1 1 0 0 0 ## [1] == i
108 # e/i| Arr [1]| i j | N | 1
109 0 -1 0 0 0 0 8 ## Arr == v2
110 0 0 -1 0 1 0 0 ## [1] == j
112 # ---------------------------------------------- 1.4 Body
113 # Statement body is provided
116 # Number of original iterators
118 # List of original iterators
120 # Statement body expression
121 A[i][j]=A[i][j]+u1[i]*v1[j]+u2[i]*v2[j];
124 # =============================================== Statement 2
125 # Number of relations describing the statement:
128 # ---------------------------------------------- 2.1 Domain
133 1 -1 0 1 -1 ## -i+N-1 >= 0
134 1 0 0 1 -1 ## N-1 >= 0
136 1 0 -1 1 -1 ## -j+N-1 >= 0
138 # ---------------------------------------------- 2.2 Scattering
141 # e/i| c1 c2 c3 c4 c5 | i j | N | 1
142 0 -1 0 0 0 0 0 0 0 1 ## c1 == 1
143 0 0 -1 0 0 0 1 0 0 0 ## c2 == i
144 0 0 0 -1 0 0 0 0 0 0 ## c3 == 0
145 0 0 0 0 -1 0 0 1 0 0 ## c4 == j
146 0 0 0 0 0 -1 0 0 0 0 ## c5 == 0
148 # ---------------------------------------------- 2.3 Access
151 # e/i| Arr [1]| i j | N | 1
152 0 -1 0 0 0 0 9 ## Arr == x
153 0 0 -1 1 0 0 0 ## [1] == i
157 # e/i| Arr [1]| i j | N | 1
158 0 -1 0 0 0 0 9 ## Arr == x
159 0 0 -1 1 0 0 0 ## [1] == i
163 # e/i| Arr| i j | N | 1
164 0 -1 0 0 0 10 ## Arr == beta
168 # e/i| Arr [1] [2]| i j | N | 1
169 0 -1 0 0 0 0 0 4 ## Arr == A
170 0 0 -1 0 1 0 0 0 ## [1] == i
171 0 0 0 -1 0 1 0 0 ## [2] == j
175 # e/i| Arr [1]| i j | N | 1
176 0 -1 0 0 0 0 11 ## Arr == y
177 0 0 -1 0 1 0 0 ## [1] == j
179 # ---------------------------------------------- 2.4 Body
180 # Statement body is provided
183 # Number of original iterators
185 # List of original iterators
187 # Statement body expression
188 x[i]=x[i]+beta*A[i][j]*y[j];
191 # =============================================== Statement 3
192 # Number of relations describing the statement:
195 # ---------------------------------------------- 3.1 Domain
200 1 -1 1 -1 ## -i+N-1 >= 0
203 # ---------------------------------------------- 3.2 Scattering
206 # e/i| c1 c2 c3 | i | N | 1
207 0 -1 0 0 0 0 2 ## c1 == 2
208 0 0 -1 0 1 0 0 ## c2 == i
209 0 0 0 -1 0 0 0 ## c3 == 0
211 # ---------------------------------------------- 3.3 Access
214 # e/i| Arr [1]| i | N | 1
215 0 -1 0 0 0 9 ## Arr == x
216 0 0 -1 1 0 0 ## [1] == i
220 # e/i| Arr [1]| i | N | 1
221 0 -1 0 0 0 9 ## Arr == x
222 0 0 -1 1 0 0 ## [1] == i
226 # e/i| Arr [1]| i | N | 1
227 0 -1 0 0 0 12 ## Arr == z
228 0 0 -1 1 0 0 ## [1] == i
230 # ---------------------------------------------- 3.4 Body
231 # Statement body is provided
234 # Number of original iterators
236 # List of original iterators
238 # Statement body expression
242 # =============================================== Statement 4
243 # Number of relations describing the statement:
246 # ---------------------------------------------- 4.1 Domain
251 1 -1 0 1 -1 ## -i+N-1 >= 0
252 1 0 0 1 -1 ## N-1 >= 0
254 1 0 -1 1 -1 ## -j+N-1 >= 0
256 # ---------------------------------------------- 4.2 Scattering
259 # e/i| c1 c2 c3 c4 c5 | i j | N | 1
260 0 -1 0 0 0 0 0 0 0 3 ## c1 == 3
261 0 0 -1 0 0 0 1 0 0 0 ## c2 == i
262 0 0 0 -1 0 0 0 0 0 0 ## c3 == 0
263 0 0 0 0 -1 0 0 1 0 0 ## c4 == j
264 0 0 0 0 0 -1 0 0 0 0 ## c5 == 0
266 # ---------------------------------------------- 4.3 Access
269 # e/i| Arr [1]| i j | N | 1
270 0 -1 0 0 0 0 13 ## Arr == w
271 0 0 -1 1 0 0 0 ## [1] == i
275 # e/i| Arr [1]| i j | N | 1
276 0 -1 0 0 0 0 13 ## Arr == w
277 0 0 -1 1 0 0 0 ## [1] == i
281 # e/i| Arr| i j | N | 1
282 0 -1 0 0 0 14 ## Arr == alpha
286 # e/i| Arr [1] [2]| i j | N | 1
287 0 -1 0 0 0 0 0 4 ## Arr == A
288 0 0 -1 0 1 0 0 0 ## [1] == i
289 0 0 0 -1 0 1 0 0 ## [2] == j
293 # e/i| Arr [1]| i j | N | 1
294 0 -1 0 0 0 0 9 ## Arr == x
295 0 0 -1 0 1 0 0 ## [1] == j
297 # ---------------------------------------------- 4.4 Body
298 # Statement body is provided
301 # Number of original iterators
303 # List of original iterators
305 # Statement body expression
306 w[i]=w[i]+alpha*A[i][j]*x[j];
309 # =============================================== Extensions
317 # Mapping array-identifiers/array-names