First commit : 0.14.0 version (with roadmap in doc instead of
[cloog/uuh.git] / test / vasilache.cloog
blob2eeb460362b85f12aeceb8d6565cfd99045309bf
1 #  A SCoP from matmul (matmul.B.main.scop1.cloog) to check normalization
3 #  Options:
4 #  cloog -f 8 -l 9 vasilache.cloog
5 #  
6 #  Correct:
7 #  S1;
8 #  S2;
9 #  for (p0=0;p0<=N-1;p0++) {
10 #   for (p1=0;p1<=N-1;p1++) {
11 #     S4(i = p0,j = p1);
12 #     S5(i = p0,j = p1);
13 #   }
14 #  }
15 #  for (p0=0;p0<=N-1;p0++) {
16 #   for (p1=0;p1<=N-1;p1++) {
17 #     for (p2=0;p2<=floord(N-1,32);p2++) {
18 #       S7(i = p0,j = p1,k = p2,l = 32*p2);
19 #       for (p3=32*p2+1;p3<=min(N-1,32*p2+31);p3++) {
20 #         S6(i = p0,j = p1,k = p2,l = p3-1);
21 #         S7(i = p0,j = p1,k = p2,l = p3);
22 #       }
23 #       if (p2 >= ceild(N-32,32)) {
24 #         S6(i = p0,j = p1,k = p2,l = N-1);
25 #       }
26 #       if (p2 <= floord(N-33,32)) {
27 #         S6(i = p0,j = p1,k = p2,l = 32*p2+31);
28 #       }
29 #     }
30 #   }
31 #  }
32 #  S8;
33 #  
34 #  
35 #  NOT correct:
36 #  S1 ;
37 #  S2 ;
38 #  for (p1=0;p1<=N-1;p1++) {
39 #   for (p3=0;p3<=N-1;p3++) {
40 #     S4(i = p1,j = p3) ;
41 #     S5(i = p1,j = p3) ;
42 #   }
43 #  }
44 #  for (p1=0;p1<=N-1;p1++) {
45 #   for (p3=0;p3<=N-1;p3++) {
46 #     for (p5=0;p5<=floord(N-1,32);p5++) {
47 #       if (p5 <= 0) {
48 #         S7(i = p1,j = p3,k = p5,l = 0) ;
49 #       }
50 #       p7 = 32*p5 ;
51 #       l = 32*p5 ;
52 #       S7(i = p1,j = p3,k = p5) ;
53 #       for (p7=max(32*p5+1,1);p7<=min(32*p5+31,N-1);p7++) {
54 #         l = p7-1 ;
55 #         S6(i = p1,j = p3,k = p5) ;
56 #         S7(i = p1,j = p3,k = p5,l = p7) ;
57 #       }
58 #       if (p5 >= ceild(N-32,32)) {
59 #         l = N-1 ;
60 #         S6(i = p1,j = p3,k = p5) ;
61 #       }
62 #       p7 = 32*p5+32 ;
63 #       l = 32*p5+31 ;
64 #       S6(i = p1,j = p3,k = p5) ;
65 #     }
66 #   }
67 #  }
68 #    S8 ;
72 c # language is C
73 # ---------- CONTEXT ----------
74 1 # Context (constraints on parameters)
75 2    4     # 1 lines, 4 columns
76 1    -1   0    3    
77 1    0    1    -100 
80 0 # Automatically find parameter names
82 # ---------- STATEMENTS ----------
83 8 # Number of statements
85 1 # Statement has a non resticted domain
86 1    4    
87 1    0    0    0    
88 0    0    0    
90 1 # Statement has a non resticted domain
91 1    4    
92 1    0    0    0    
93 0    0    0    
95 1 # Statement has 1 domain
96 1    4    
97 1    1    0    -79  
98 0    0    0    
100 1 # Statement has 1 domain
101 4    6    
102 1    1    0    0    0    0    
103 1    -1   0    0    1    -1   
104 1    0    1    0    0    0    
105 1    0    -1   0    1    -1   
106 0    0    0    
108 1 # Statement has 1 domain
109 4    6    
110 1    1    0    0    0    0    
111 1    -1   0    0    1    -1   
112 1    0    1    0    0    0    
113 1    0    -1   0    1    -1   
114 0    0    0    
116 1 # Statement has 1 domain
117 8    8    
118 1    1    0    0    0    0    0    0    
119 1    -1   0    0    0    0    1    -1   
120 1    0    1    0    0    0    0    0    
121 1    0    -1   0    0    0    1    -1   
122 1    0    0    0    1    0    0    0    
123 1    0    0    0    -1   0    1    -1   
124 1    0    0    -32  1    0    0    0    
125 1    0    0    32   -1   0    0    31   
126 0    0    0    
128 1 # Statement has 1 domain
129 8    8    
130 1    1    0    0    0    0    0    0    
131 1    -1   0    0    0    0    1    -1   
132 1    0    1    0    0    0    0    0    
133 1    0    -1   0    0    0    1    -1   
134 1    0    0    0    1    0    0    0    
135 1    0    0    0    -1   0    1    -1   
136 1    0    0    -32  1    0    0    0    
137 1    0    0    32   -1   0    0    31   
138 0    0    0    
140 1 # Statement has a non resticted domain
141 1    4    
142 1    0    0    0    
143 0    0    0    
145 0 # Automatically find iterator names.
147 # ---------- SCATTERING FUNCTIONS ----------
148 8 # Number of scattering functions
150 9    13   
151 #    p0   p1   p2   p3   p4   p5   p6   p7   p8   
152 0    1    0    0    0    0    0    0    0    0                   0    0    0     # Beta 0
153 0    0    1    0    0    0    0    0    0    0                   0    0    0     # Alpha & Gamma 1
154 0    0    0    1    0    0    0    0    0    0                   0    0    0     # Beta 1
155 0    0    0    0    1    0    0    0    0    0                   0    0    0     # Alpha & Gamma 2
156 0    0    0    0    0    1    0    0    0    0                   0    0    0     # Beta 2
157 0    0    0    0    0    0    1    0    0    0                   0    0    0     # Alpha & Gamma 3
158 0    0    0    0    0    0    0    1    0    0                   0    0    0     # Beta 3
159 0    0    0    0    0    0    0    0    1    0                   0    0    0     # Alpha & Gamma 4
160 0    0    0    0    0    0    0    0    0    1                   0    0    0     # Beta 4
162 9    13   
163 #    p0   p1   p2   p3   p4   p5   p6   p7   p8   
164 0    1    0    0    0    0    0    0    0    0                   0    0    -1    # Beta 0
165 0    0    1    0    0    0    0    0    0    0                   0    0    0     # Alpha & Gamma 1
166 0    0    0    1    0    0    0    0    0    0                   0    0    0     # Beta 1
167 0    0    0    0    1    0    0    0    0    0                   0    0    0     # Alpha & Gamma 2
168 0    0    0    0    0    1    0    0    0    0                   0    0    0     # Beta 2
169 0    0    0    0    0    0    1    0    0    0                   0    0    0     # Alpha & Gamma 3
170 0    0    0    0    0    0    0    1    0    0                   0    0    0     # Beta 3
171 0    0    0    0    0    0    0    0    1    0                   0    0    0     # Alpha & Gamma 4
172 0    0    0    0    0    0    0    0    0    1                   0    0    0     # Beta 4
174 9    13   
175 #    p0   p1   p2   p3   p4   p5   p6   p7   p8   
176 0    1    0    0    0    0    0    0    0    0                   0    0    -2    # Beta 0
177 0    0    1    0    0    0    0    0    0    0                   0    0    0     # Alpha & Gamma 1
178 0    0    0    1    0    0    0    0    0    0                   0    0    0     # Beta 1
179 0    0    0    0    1    0    0    0    0    0                   0    0    0     # Alpha & Gamma 2
180 0    0    0    0    0    1    0    0    0    0                   0    0    0     # Beta 2
181 0    0    0    0    0    0    1    0    0    0                   0    0    0     # Alpha & Gamma 3
182 0    0    0    0    0    0    0    1    0    0                   0    0    0     # Beta 3
183 0    0    0    0    0    0    0    0    1    0                   0    0    0     # Alpha & Gamma 4
184 0    0    0    0    0    0    0    0    0    1                   0    0    0     # Beta 4
186 9    15   
187 #    p0   p1   p2   p3   p4   p5   p6   p7   p8   
188 0    1    0    0    0    0    0    0    0    0         0    0              0    0    -3    # Beta 0
189 0    0    1    0    0    0    0    0    0    0         -1   0              0    0    0     # Alpha & Gamma 1
190 0    0    0    1    0    0    0    0    0    0         0    0              0    0    0     # Beta 1
191 0    0    0    0    1    0    0    0    0    0         0    -1             0    0    0     # Alpha & Gamma 2
192 0    0    0    0    0    1    0    0    0    0         0    0              0    0    0     # Beta 2
193 0    0    0    0    0    0    1    0    0    0         0    0              0    0    0     # Alpha & Gamma 3
194 0    0    0    0    0    0    0    1    0    0         0    0              0    0    0     # Beta 3
195 0    0    0    0    0    0    0    0    1    0         0    0              0    0    0     # Alpha & Gamma 4
196 0    0    0    0    0    0    0    0    0    1         0    0              0    0    0     # Beta 4
198 9    15   
199 #    p0   p1   p2   p3   p4   p5   p6   p7   p8   
200 0    1    0    0    0    0    0    0    0    0         0    0              0    0    -3    # Beta 0
201 0    0    1    0    0    0    0    0    0    0         -1   0              0    0    0     # Alpha & Gamma 1
202 0    0    0    1    0    0    0    0    0    0         0    0              0    0    0     # Beta 1
203 0    0    0    0    1    0    0    0    0    0         0    -1             0    0    0     # Alpha & Gamma 2
204 0    0    0    0    0    1    0    0    0    0         0    0              0    0    -1    # Beta 2
205 0    0    0    0    0    0    1    0    0    0         0    0              0    0    0     # Alpha & Gamma 3
206 0    0    0    0    0    0    0    1    0    0         0    0              0    0    0     # Beta 3
207 0    0    0    0    0    0    0    0    1    0         0    0              0    0    0     # Alpha & Gamma 4
208 0    0    0    0    0    0    0    0    0    1         0    0              0    0    0     # Beta 4
210 9    17   
211 #    p0   p1   p2   p3   p4   p5   p6   p7   p8   
212 0    1    0    0    0    0    0    0    0    0         0    0    0    0              0    0    -4    # Beta 0
213 0    0    1    0    0    0    0    0    0    0         -1   0    0    0              0    0    0     # Alpha & Gamma 1
214 0    0    0    1    0    0    0    0    0    0         0    0    0    0              0    0    0     # Beta 1
215 0    0    0    0    1    0    0    0    0    0         0    -1   0    0              0    0    0     # Alpha & Gamma 2
216 0    0    0    0    0    1    0    0    0    0         0    0    0    0              0    0    0     # Beta 2
217 0    0    0    0    0    0    1    0    0    0         0    0    -1   0              0    0    0     # Alpha & Gamma 3
218 0    0    0    0    0    0    0    1    0    0         0    0    0    0              0    0    0     # Beta 3
219 0    0    0    0    0    0    0    0    1    0         0    0    0    -1             0    0    -1    # Alpha & Gamma 4
220 0    0    0    0    0    0    0    0    0    1         0    0    0    0              0    0    0     # Beta 4
222 9    17   
223 #    p0   p1   p2   p3   p4   p5   p6   p7   p8   
224 0    1    0    0    0    0    0    0    0    0         0    0    0    0              0    0    -4    # Beta 0
225 0    0    1    0    0    0    0    0    0    0         -1   0    0    0              0    0    0     # Alpha & Gamma 1
226 0    0    0    1    0    0    0    0    0    0         0    0    0    0              0    0    0     # Beta 1
227 0    0    0    0    1    0    0    0    0    0         0    -1   0    0              0    0    0     # Alpha & Gamma 2
228 0    0    0    0    0    1    0    0    0    0         0    0    0    0              0    0    0     # Beta 2
229 0    0    0    0    0    0    1    0    0    0         0    0    -1   0              0    0    0     # Alpha & Gamma 3
230 0    0    0    0    0    0    0    1    0    0         0    0    0    0              0    0    0     # Beta 3
231 0    0    0    0    0    0    0    0    1    0         0    0    0    -1             0    0    0     # Alpha & Gamma 4
232 0    0    0    0    0    0    0    0    0    1         0    0    0    0              0    0    -1    # Beta 4
234 9    13   
235 #    p0   p1   p2   p3   p4   p5   p6   p7   p8   
236 0    1    0    0    0    0    0    0    0    0                   0    0    -5    # Beta 0
237 0    0    1    0    0    0    0    0    0    0                   0    0    0     # Alpha & Gamma 1
238 0    0    0    1    0    0    0    0    0    0                   0    0    0     # Beta 1
239 0    0    0    0    1    0    0    0    0    0                   0    0    0     # Alpha & Gamma 2
240 0    0    0    0    0    1    0    0    0    0                   0    0    0     # Beta 2
241 0    0    0    0    0    0    1    0    0    0                   0    0    0     # Alpha & Gamma 3
242 0    0    0    0    0    0    0    1    0    0                   0    0    0     # Beta 3
243 0    0    0    0    0    0    0    0    1    0                   0    0    0     # Alpha & Gamma 4
244 0    0    0    0    0    0    0    0    0    1                   0    0    0     # Beta 4
246 1 # Set the scattering parameter names.
247 p0 p1 p2 p3 p4 p5 p6 p7 p8