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
43 i NSECTIONS imod8 imodNSECTIONS
46 # Number of statements
49 # =============================================== Statement 1
50 # Number of relations describing the statement:
53 # ---------------------------------------------- 1.1 Domain
57 # ---------------------------------------------- 1.2 Scattering
60 # e/i| c1 | i NSE. imo. imo.| 1
61 0 -1 0 0 0 0 0 ## c1 == 0
63 # ---------------------------------------------- 1.3 Access
66 # e/i| Arr| i NSE. imo. imo.| 1
67 0 -1 0 0 0 0 1 ## Arr == sum
71 # e/i| Arr [1]| i NSE. imo. imo.| 1
72 0 -1 0 0 0 0 0 2 ## Arr == input
73 0 0 -1 1 0 0 0 0 ## [1] == i
75 # ---------------------------------------------- 1.4 Body
76 # Statement body is provided
79 # Number of original iterators
81 # Statement body expression
85 # =============================================== Statement 2
86 # Number of relations describing the statement:
89 # ---------------------------------------------- 2.1 Domain
92 # e/i| j | i NSE. imo. imo.| 1
93 1 1 0 0 0 0 0 ## j >= 0
94 1 -1 0 1 0 0 -1 ## -j+NSECTIONS-1 >= 0
95 1 0 0 1 0 0 -1 ## NSECTIONS-1 >= 0
97 # ---------------------------------------------- 2.2 Scattering
100 # e/i| c1 c2 c3 | j | i NSE. imo. imo.| 1
101 0 -1 0 0 0 0 0 0 0 1 ## c1 == 1
102 0 0 -1 0 1 0 0 0 0 0 ## c2 == j
103 0 0 0 -1 0 0 0 0 0 0 ## c3 == 0
105 # ---------------------------------------------- 2.3 Access
108 # e/i| Arr| j | i NSE. imo. imo.| 1
109 0 -1 0 0 0 0 0 6 ## Arr == state_2
113 # e/i| Arr [1] [2] [3]| j | i NSE. imo. imo.| 1
114 0 -1 0 0 0 0 0 0 0 0 7 ## Arr == internal_state
115 0 0 -1 0 0 0 0 0 1 0 0 ## [1] == imod8
116 0 0 0 -1 0 1 0 0 0 0 0 ## [2] == j
117 0 0 0 0 -1 0 0 0 0 0 0 ## [3] == 0
119 # ---------------------------------------------- 2.4 Body
120 # Statement body is provided
123 # Number of original iterators
125 # List of original iterators
127 # Statement body expression
128 state_2=internal_state[imod8][j][0];
131 # =============================================== Statement 3
132 # Number of relations describing the statement:
135 # ---------------------------------------------- 3.1 Domain
138 # e/i| j | i NSE. imo. imo.| 1
139 1 1 0 0 0 0 0 ## j >= 0
140 1 -1 0 1 0 0 -1 ## -j+NSECTIONS-1 >= 0
141 1 0 0 1 0 0 -1 ## NSECTIONS-1 >= 0
143 # ---------------------------------------------- 3.2 Scattering
146 # e/i| c1 c2 c3 | j | i NSE. imo. imo.| 1
147 0 -1 0 0 0 0 0 0 0 1 ## c1 == 1
148 0 0 -1 0 1 0 0 0 0 0 ## c2 == j
149 0 0 0 -1 0 0 0 0 0 1 ## c3 == 1
151 # ---------------------------------------------- 3.3 Access
154 # e/i| Arr| j | i NSE. imo. imo.| 1
155 0 -1 0 0 0 0 0 9 ## Arr == state_1
159 # e/i| Arr [1] [2] [3]| j | i NSE. imo. imo.| 1
160 0 -1 0 0 0 0 0 0 0 0 7 ## Arr == internal_state
161 0 0 -1 0 0 0 0 0 1 0 0 ## [1] == imod8
162 0 0 0 -1 0 1 0 0 0 0 0 ## [2] == j
163 0 0 0 0 -1 0 0 0 0 0 1 ## [3] == 1
165 # ---------------------------------------------- 3.4 Body
166 # Statement body is provided
169 # Number of original iterators
171 # List of original iterators
173 # Statement body expression
174 state_1=internal_state[imod8][j][1];
177 # =============================================== Statement 4
178 # Number of relations describing the statement:
181 # ---------------------------------------------- 4.1 Domain
184 # e/i| j | i NSE. imo. imo.| 1
185 1 1 0 0 0 0 0 ## j >= 0
186 1 -1 0 1 0 0 -1 ## -j+NSECTIONS-1 >= 0
187 1 0 0 1 0 0 -1 ## NSECTIONS-1 >= 0
189 # ---------------------------------------------- 4.2 Scattering
192 # e/i| c1 c2 c3 | j | i NSE. imo. imo.| 1
193 0 -1 0 0 0 0 0 0 0 1 ## c1 == 1
194 0 0 -1 0 1 0 0 0 0 0 ## c2 == j
195 0 0 0 -1 0 0 0 0 0 2 ## c3 == 2
197 # ---------------------------------------------- 4.3 Access
200 # e/i| Arr| j | i NSE. imo. imo.| 1
201 0 -1 0 0 0 0 0 1 ## Arr == sum
205 # e/i| Arr| j | i NSE. imo. imo.| 1
206 0 -1 0 0 0 0 0 1 ## Arr == sum
210 # e/i| Arr [1] [2] [3]| j | i NSE. imo. imo.| 1
211 0 -1 0 0 0 0 0 0 0 0 7 ## Arr == internal_state
212 0 0 -1 0 0 0 0 0 1 0 0 ## [1] == imod8
213 0 0 0 -1 0 1 0 0 0 0 0 ## [2] == j
214 0 0 0 0 -1 0 0 0 0 0 0 ## [3] == 0
218 # e/i| Arr [1] [2] [3]| j | i NSE. imo. imo.| 1
219 0 -1 0 0 0 0 0 0 0 0 10 ## Arr == coefficient
220 0 0 -1 0 0 0 0 0 0 1 0 ## [1] == imodNSECTIONS
221 0 0 0 -1 0 1 0 0 0 0 0 ## [2] == j
222 0 0 0 0 -1 0 0 0 0 0 0 ## [3] == 0
226 # e/i| Arr [1] [2] [3]| j | i NSE. imo. imo.| 1
227 0 -1 0 0 0 0 0 0 0 0 7 ## Arr == internal_state
228 0 0 -1 0 0 0 0 0 1 0 0 ## [1] == imod8
229 0 0 0 -1 0 1 0 0 0 0 0 ## [2] == j
230 0 0 0 0 -1 0 0 0 0 0 1 ## [3] == 1
234 # e/i| Arr [1] [2] [3]| j | i NSE. imo. imo.| 1
235 0 -1 0 0 0 0 0 0 0 0 10 ## Arr == coefficient
236 0 0 -1 0 0 0 0 0 0 1 0 ## [1] == imodNSECTIONS
237 0 0 0 -1 0 1 0 0 0 0 0 ## [2] == j
238 0 0 0 0 -1 0 0 0 0 0 1 ## [3] == 1
240 # ---------------------------------------------- 4.4 Body
241 # Statement body is provided
244 # Number of original iterators
246 # List of original iterators
248 # Statement body expression
249 sum-=internal_state[imod8][j][0]*coefficient[imodNSECTIONS][j][0]+internal_state[imod8][j][1]*coefficient[imodNSECTIONS][j][1];
252 # =============================================== Statement 5
253 # Number of relations describing the statement:
256 # ---------------------------------------------- 5.1 Domain
259 # e/i| j | i NSE. imo. imo.| 1
260 1 1 0 0 0 0 0 ## j >= 0
261 1 -1 0 1 0 0 -1 ## -j+NSECTIONS-1 >= 0
262 1 0 0 1 0 0 -1 ## NSECTIONS-1 >= 0
264 # ---------------------------------------------- 5.2 Scattering
267 # e/i| c1 c2 c3 | j | i NSE. imo. imo.| 1
268 0 -1 0 0 0 0 0 0 0 1 ## c1 == 1
269 0 0 -1 0 1 0 0 0 0 0 ## c2 == j
270 0 0 0 -1 0 0 0 0 0 3 ## c3 == 3
272 # ---------------------------------------------- 5.3 Access
275 # e/i| Arr [1] [2] [3]| j | i NSE. imo. imo.| 1
276 0 -1 0 0 0 0 0 0 0 0 7 ## Arr == internal_state
277 0 0 -1 0 0 0 0 0 1 0 0 ## [1] == imod8
278 0 0 0 -1 0 1 0 0 0 0 0 ## [2] == j
279 0 0 0 0 -1 0 0 0 0 0 0 ## [3] == 0
283 # e/i| Arr [1] [2] [3]| j | i NSE. imo. imo.| 1
284 0 -1 0 0 0 0 0 0 0 0 7 ## Arr == internal_state
285 0 0 -1 0 0 0 0 0 1 0 0 ## [1] == imod8
286 0 0 0 -1 0 1 0 0 0 0 0 ## [2] == j
287 0 0 0 0 -1 0 0 0 0 0 1 ## [3] == 1
289 # ---------------------------------------------- 5.4 Body
290 # Statement body is provided
293 # Number of original iterators
295 # List of original iterators
297 # Statement body expression
298 internal_state[imod8][j][0]=internal_state[imod8][j][1];
301 # =============================================== Statement 6
302 # Number of relations describing the statement:
305 # ---------------------------------------------- 6.1 Domain
308 # e/i| j | i NSE. imo. imo.| 1
309 1 1 0 0 0 0 0 ## j >= 0
310 1 -1 0 1 0 0 -1 ## -j+NSECTIONS-1 >= 0
311 1 0 0 1 0 0 -1 ## NSECTIONS-1 >= 0
313 # ---------------------------------------------- 6.2 Scattering
316 # e/i| c1 c2 c3 | j | i NSE. imo. imo.| 1
317 0 -1 0 0 0 0 0 0 0 1 ## c1 == 1
318 0 0 -1 0 1 0 0 0 0 0 ## c2 == j
319 0 0 0 -1 0 0 0 0 0 4 ## c3 == 4
321 # ---------------------------------------------- 6.3 Access
324 # e/i| Arr [1] [2] [3]| j | i NSE. imo. imo.| 1
325 0 -1 0 0 0 0 0 0 0 0 7 ## Arr == internal_state
326 0 0 -1 0 0 0 0 0 1 0 0 ## [1] == imod8
327 0 0 0 -1 0 1 0 0 0 0 0 ## [2] == j
328 0 0 0 0 -1 0 0 0 0 0 1 ## [3] == 1
332 # e/i| Arr| j | i NSE. imo. imo.| 1
333 0 -1 0 0 0 0 0 1 ## Arr == sum
335 # ---------------------------------------------- 6.4 Body
336 # Statement body is provided
339 # Number of original iterators
341 # List of original iterators
343 # Statement body expression
344 internal_state[imod8][j][1]=sum;
347 # =============================================== Statement 7
348 # Number of relations describing the statement:
351 # ---------------------------------------------- 7.1 Domain
354 # e/i| j | i NSE. imo. imo.| 1
355 1 1 0 0 0 0 0 ## j >= 0
356 1 -1 0 1 0 0 -1 ## -j+NSECTIONS-1 >= 0
357 1 0 0 1 0 0 -1 ## NSECTIONS-1 >= 0
359 # ---------------------------------------------- 7.2 Scattering
362 # e/i| c1 c2 c3 | j | i NSE. imo. imo.| 1
363 0 -1 0 0 0 0 0 0 0 1 ## c1 == 1
364 0 0 -1 0 1 0 0 0 0 0 ## c2 == j
365 0 0 0 -1 0 0 0 0 0 5 ## c3 == 5
367 # ---------------------------------------------- 7.3 Access
370 # e/i| Arr| j | i NSE. imo. imo.| 1
371 0 -1 0 0 0 0 0 1 ## Arr == sum
375 # e/i| Arr| j | i NSE. imo. imo.| 1
376 0 -1 0 0 0 0 0 1 ## Arr == sum
380 # e/i| Arr| j | i NSE. imo. imo.| 1
381 0 -1 0 0 0 0 0 6 ## Arr == state_2
385 # e/i| Arr [1] [2] [3]| j | i NSE. imo. imo.| 1
386 0 -1 0 0 0 0 0 0 0 0 10 ## Arr == coefficient
387 0 0 -1 0 0 0 0 0 0 1 0 ## [1] == imodNSECTIONS
388 0 0 0 -1 0 1 0 0 0 0 0 ## [2] == j
389 0 0 0 0 -1 0 0 0 0 0 2 ## [3] == 2
393 # e/i| Arr| j | i NSE. imo. imo.| 1
394 0 -1 0 0 0 0 0 9 ## Arr == state_1
398 # e/i| Arr [1] [2] [3]| j | i NSE. imo. imo.| 1
399 0 -1 0 0 0 0 0 0 0 0 10 ## Arr == coefficient
400 0 0 -1 0 0 0 0 0 0 1 0 ## [1] == imodNSECTIONS
401 0 0 0 -1 0 1 0 0 0 0 0 ## [2] == j
402 0 0 0 0 -1 0 0 0 0 0 3 ## [3] == 3
404 # ---------------------------------------------- 7.4 Body
405 # Statement body is provided
408 # Number of original iterators
410 # List of original iterators
412 # Statement body expression
413 sum+=state_2*coefficient[imodNSECTIONS][j][2]+state_1*coefficient[imodNSECTIONS][j][3];
416 # =============================================== Statement 8
417 # Number of relations describing the statement:
420 # ---------------------------------------------- 8.1 Domain
424 # ---------------------------------------------- 8.2 Scattering
427 # e/i| c1 | i NSE. imo. imo.| 1
428 0 -1 0 0 0 0 2 ## c1 == 2
430 # ---------------------------------------------- 8.3 Access
433 # e/i| Arr [1]| i NSE. imo. imo.| 1
434 0 -1 0 0 0 0 0 12 ## Arr == output
435 0 0 -1 1 0 0 0 0 ## [1] == i
439 # e/i| Arr| i NSE. imo. imo.| 1
440 0 -1 0 0 0 0 1 ## Arr == sum
442 # ---------------------------------------------- 8.4 Body
443 # Statement body is provided
446 # Number of original iterators
448 # Statement body expression
452 # =============================================== Extensions
460 # Mapping array-identifiers/array-names