1 [Clan] Info: parsing file #1 (./unitary/datacopy.c)
7 # A | # Clan McCloog Castle
8 # /.\ [""M# [Generated by Clan 0.7.1]
21 # :::::::::SUNDOGa8a::::. ..
22 # :::::8::::888:Y8888:::::::::...
23 #::':::88::::888::Y88a______________________________________________________
24 #:: ::::88a::::88a:Y88a __---__-- __
25 #' .: ::Y88a:::::8a:Y88a __----_-- -------_-__
26 # :' ::::8P::::::::::88aa. _ _- -- --_ --- __ --- __--
27 #.:: :::::::::::::::::::Y88as88a...s88aa.
29 # [File generated by the OpenScop Library 0.8.4]
33 # =============================================== Global
41 # Parameters are provided
47 # Number of statements
50 # =============================================== Statement 1
51 # Number of relations describing the statement:
54 # ---------------------------------------------- 1.1 Domain
59 1 -1 0 1 0 0 ## -i+N >= 0
62 1 0 -1 0 1 0 ## -j+M >= 0
65 # ---------------------------------------------- 1.2 Scattering
68 # e/i| c1 c2 c3 c4 c5 | i j | N M | 1
69 0 -1 0 0 0 0 0 0 0 0 0 ## c1 == 0
70 0 0 -1 0 0 0 1 0 0 0 0 ## c2 == i
71 0 0 0 -1 0 0 0 0 0 0 0 ## c3 == 0
72 0 0 0 0 -1 0 0 1 0 0 0 ## c4 == j
73 0 0 0 0 0 -1 0 0 0 0 0 ## c5 == 0
75 # ---------------------------------------------- 1.3 Access
78 # e/i| Arr [1] [2]| i j | N M | 1
79 0 -1 0 0 0 0 0 0 5 ## Arr == a
80 0 0 -1 0 0 1 0 0 0 ## [1] == j
81 0 0 0 -1 1 0 0 0 0 ## [2] == i
85 # e/i| Arr [1] [2]| i j | N M | 1
86 0 -1 0 0 0 0 0 0 5 ## Arr == a
87 0 0 -1 0 0 1 0 0 0 ## [1] == j
88 0 0 0 -1 1 0 0 0 0 ## [2] == i
90 # ---------------------------------------------- 1.4 Statement Extensions
91 # Number of Statement Extensions
94 # Number of original iterators
96 # List of original iterators
98 # Statement body expression
105 # Access coordinates (start/length)
108 # Number of original iterators
110 # List of original iterators
112 # Statement body expression
116 # =============================================== Statement 2
117 # Number of relations describing the statement:
120 # ---------------------------------------------- 2.1 Domain
124 1 1 0 0 0 0 ## i >= 0
125 1 -1 0 1 0 0 ## -i+N >= 0
126 1 0 0 1 0 0 ## N >= 0
127 1 0 1 0 0 0 ## j >= 0
128 1 0 -1 0 1 0 ## -j+M >= 0
129 1 0 0 0 1 0 ## M >= 0
131 # ---------------------------------------------- 2.2 Scattering
134 # e/i| c1 c2 c3 c4 c5 | i j | N M | 1
135 0 -1 0 0 0 0 0 0 0 0 0 ## c1 == 0
136 0 0 -1 0 0 0 1 0 0 0 0 ## c2 == i
137 0 0 0 -1 0 0 0 0 0 0 0 ## c3 == 0
138 0 0 0 0 -1 0 0 1 0 0 0 ## c4 == j
139 0 0 0 0 0 -1 0 0 0 0 1 ## c5 == 1
141 # ---------------------------------------------- 2.3 Access
144 # e/i| Arr [1] [2]| i j | N M | 1
145 0 -1 0 0 0 0 0 0 6 ## Arr == b
146 0 0 -1 0 0 1 0 0 0 ## [1] == j
147 0 0 0 -1 1 0 0 0 0 ## [2] == i
149 # ---------------------------------------------- 2.4 Statement Extensions
150 # Number of Statement Extensions
153 # Number of original iterators
155 # List of original iterators
157 # Statement body expression
164 # Access coordinates (start/length)
166 # Number of original iterators
168 # List of original iterators
170 # Statement body expression
174 # =============================================== Extensions
182 # Mapping array-identifiers/array-names
194 # Starting line and column
196 # Ending line and column
204 a = get_array_id ("a");
205 b = get_array_id("b");
207 c = add_array("a_copy");
208 d = add_array("b_copy");
213 y = [0,0,0]; # beta for the statement a
214 z = [0,0,1]; # beta for the statement b
217 datacopy(c, a, [0], true, y); # a_copy = a
220 datacopy(d, b, [0], true, z); # b_copy = b
225 datacopy(a, c, [1], false, y); # a = a_copy
226 datacopy(b, d, [1], false, z); # b = b_copy
230 dimreorder([], c, [1, 0]);
231 dimreorder([], d, [1, 0]);