Proper skew transformation
[clay.git] / tests / unitary / skew_loop1.c.orig.scop
blobac4a8623972ab4ae107f6bce96717842d5bdfb7a
1 [Clan] Info: parsing file #1 (./unitary/skew_loop1.c)
2 #                                                     
3 #          <|                                         
4 #           A                                         
5 #          /.\                                       
6 #     <|  [""M#                                     
7 #      A   | #            Clan McCloog Castle         
8 #     /.\ [""M#           [Generated by Clan 0.7.1]
9 #    [""M# | #  U"U#U                              
10 #     | #  | #  \ .:/                                
11 #     | #  | #___| #                                  
12 #     | "--'     .-"                                
13 #   |"-"-"-"-"-#-#-##                            
14 #   |     # ## ######                                 
15 #    \       .::::'/                                 
16 #     \      ::::'/                                  
17 #   :8a|    # # ##                                    
18 #   ::88a      ###                                    
19 #  ::::888a  8a ##::.                                 
20 #  ::::::888a88a[]::::                                
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]
31 <OpenScop>
33 # =============================================== Global
34 # Language
37 # Context
38 CONTEXT
39 0 4 0 0 0 2
41 # Parameters are provided
43 <strings>
44 N M
45 </strings>
47 # Number of statements
50 # =============================================== Statement 1
51 # Number of relations describing the statement:
54 # ----------------------------------------------  1.1 Domain
55 DOMAIN
56 6 6 2 0 0 2
57 # e/i|  i    j |  N    M |  1  
58    1    1    0    0    0    0    ## i >= 0
59    1   -1    0    1    0    0    ## -i+N >= 0
60    1    0    0    1    0    0    ## N >= 0
61    1    0    1    0    0    0    ## j >= 0
62    1    0   -1    0    1    0    ## -j+M >= 0
63    1    0    0    0    1    0    ## M >= 0
65 # ----------------------------------------------  1.2 Scattering
66 SCATTERING
67 5 11 5 2 0 2
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
76 WRITE
77 3 9 3 2 0 2
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    1    0    0    0    0    ## [1] == i
81    0    0    0   -1    0    1    0    0    0    ## [2] == j
83 # ----------------------------------------------  1.4 Statement Extensions
84 # Number of Statement Extensions
86 <body>
87 # Number of original iterators
89 # List of original iterators
90 i j
91 # Statement body expression
92 a[i][j] = 0;
93 </body>
95 <extbody>
96 # Number of accesses
98 # Access coordinates (start/length)
99 0 7
100 # Number of original iterators
102 # List of original iterators
103 i j
104 # Statement body expression
105 a[i][j] = 0;
106 </extbody>
108 # =============================================== Statement 2
109 # Number of relations describing the statement:
112 # ----------------------------------------------  2.1 Domain
113 DOMAIN
114 3 5 1 0 0 2
115 # e/i|  i |  N    M |  1  
116    1    1    0    0    0    ## i >= 0
117    1   -1    1    0    0    ## -i+N >= 0
118    1    0    1    0    0    ## N >= 0
120 # ----------------------------------------------  2.2 Scattering
121 SCATTERING
122 3 8 3 1 0 2
123 # e/i| c1   c2   c3 |  i |  N    M |  1  
124    0   -1    0    0    0    0    0    0    ## c1 == 0
125    0    0   -1    0    1    0    0    0    ## c2 == i
126    0    0    0   -1    0    0    0    1    ## c3 == 1
128 # ----------------------------------------------  2.3 Access
129 WRITE
130 2 7 2 1 0 2
131 # e/i| Arr  [1]|  i |  N    M |  1  
132    0   -1    0    0    0    0    6    ## Arr == b
133    0    0   -1    1    0    0    0    ## [1] == i
135 # ----------------------------------------------  2.4 Statement Extensions
136 # Number of Statement Extensions
138 <body>
139 # Number of original iterators
141 # List of original iterators
143 # Statement body expression
144 b[i] = 0;
145 </body>
147 <extbody>
148 # Number of accesses
150 # Access coordinates (start/length)
151 0 4
152 # Number of original iterators
154 # List of original iterators
156 # Statement body expression
157 b[i] = 0;
158 </extbody>
160 # =============================================== Extensions
161 <scatnames>
162 b0 i b1 j b2
163 </scatnames>
165 <arrays>
166 # Number of arrays
168 # Mapping array-identifiers/array-names
169 1 i
170 2 N
171 3 j
172 4 M
173 5 a
174 6 b
175 </arrays>
177 <coordinates>
178 # File name
179 unitary/skew_loop1.c
180 # Starting line and column
181 2 0
182 # Ending line and column
183 11 0
184 # Indentation
186 </coordinates>
188 <clay>
189   skew([0,0], 1, 2);
190 </clay>
192 </OpenScop>