summaryrefslogtreecommitdiff
path: root/cloog-0.16.3/test/vasilache.cloog
blob: 29f9598a733e6b1b8a6ae9178bcaf21b5ee38a46 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
#  A SCoP from matmul (matmul.B.main.scop1.cloog) to check normalization
#
#  Options:
#  cloog -f 8 -l 9 vasilache.cloog
#  
#  Correct:
#  S1;
#  S2;
#  for (p0=0;p0<=N-1;p0++) {
#   for (p1=0;p1<=N-1;p1++) {
#     S4(i = p0,j = p1);
#     S5(i = p0,j = p1);
#   }
#  }
#  for (p0=0;p0<=N-1;p0++) {
#   for (p1=0;p1<=N-1;p1++) {
#     for (p2=0;p2<=floord(N-1,32);p2++) {
#       S7(i = p0,j = p1,k = p2,l = 32*p2);
#       for (p3=32*p2+1;p3<=min(N-1,32*p2+31);p3++) {
#         S6(i = p0,j = p1,k = p2,l = p3-1);
#         S7(i = p0,j = p1,k = p2,l = p3);
#       }
#       if (p2 >= ceild(N-32,32)) {
#         S6(i = p0,j = p1,k = p2,l = N-1);
#       }
#       if (p2 <= floord(N-33,32)) {
#         S6(i = p0,j = p1,k = p2,l = 32*p2+31);
#       }
#     }
#   }
#  }
#  S8;
#  
#  
#  NOT correct:
#  S1 ;
#  S2 ;
#  for (p1=0;p1<=N-1;p1++) {
#   for (p3=0;p3<=N-1;p3++) {
#     S4(i = p1,j = p3) ;
#     S5(i = p1,j = p3) ;
#   }
#  }
#  for (p1=0;p1<=N-1;p1++) {
#   for (p3=0;p3<=N-1;p3++) {
#     for (p5=0;p5<=floord(N-1,32);p5++) {
#       if (p5 <= 0) {
#         S7(i = p1,j = p3,k = p5,l = 0) ;
#       }
#       p7 = 32*p5 ;
#       l = 32*p5 ;
#       S7(i = p1,j = p3,k = p5) ;
#       for (p7=max(32*p5+1,1);p7<=min(32*p5+31,N-1);p7++) {
#         l = p7-1 ;
#         S6(i = p1,j = p3,k = p5) ;
#         S7(i = p1,j = p3,k = p5,l = p7) ;
#       }
#       if (p5 >= ceild(N-32,32)) {
#         l = N-1 ;
#         S6(i = p1,j = p3,k = p5) ;
#       }
#       p7 = 32*p5+32 ;
#       l = 32*p5+31 ;
#       S6(i = p1,j = p3,k = p5) ;
#     }
#   }
#  }
#    S8 ;



c # language is C
# ---------- CONTEXT ----------
# Context (constraints on parameters)
2    4     # 1 lines, 4 columns
1    -1   0    3    
1    0    1    -100 


0 # Automatically find parameter names

# ---------- STATEMENTS ----------
8 # Number of statements

1 # Statement has a non resticted domain
1    4    
1    0    0    0    
0    0    0    

1 # Statement has a non resticted domain
1    4    
1    0    0    0    
0    0    0    

1 # Statement has 1 domain
1    4    
1    1    0    -79  
0    0    0    

1 # Statement has 1 domain
4    6    
1    1    0    0    0    0    
1    -1   0    0    1    -1   
1    0    1    0    0    0    
1    0    -1   0    1    -1   
0    0    0    

1 # Statement has 1 domain
4    6    
1    1    0    0    0    0    
1    -1   0    0    1    -1   
1    0    1    0    0    0    
1    0    -1   0    1    -1   
0    0    0    

1 # Statement has 1 domain
8    8    
1    1    0    0    0    0    0    0    
1    -1   0    0    0    0    1    -1   
1    0    1    0    0    0    0    0    
1    0    -1   0    0    0    1    -1   
1    0    0    0    1    0    0    0    
1    0    0    0    -1   0    1    -1   
1    0    0    -32  1    0    0    0    
1    0    0    32   -1   0    0    31   
0    0    0    

1 # Statement has 1 domain
8    8    
1    1    0    0    0    0    0    0    
1    -1   0    0    0    0    1    -1   
1    0    1    0    0    0    0    0    
1    0    -1   0    0    0    1    -1   
1    0    0    0    1    0    0    0    
1    0    0    0    -1   0    1    -1   
1    0    0    -32  1    0    0    0    
1    0    0    32   -1   0    0    31   
0    0    0    

1 # Statement has a non resticted domain
1    4    
1    0    0    0    
0    0    0    

0 # Automatically find iterator names.

# ---------- SCATTERING FUNCTIONS ----------
8 # Number of scattering functions

9    13   
#    p0   p1   p2   p3   p4   p5   p6   p7   p8   
0    1    0    0    0    0    0    0    0    0                   0    0    0     # Beta 0
0    0    1    0    0    0    0    0    0    0                   0    0    0     # Alpha & Gamma 1
0    0    0    1    0    0    0    0    0    0                   0    0    0     # Beta 1
0    0    0    0    1    0    0    0    0    0                   0    0    0     # Alpha & Gamma 2
0    0    0    0    0    1    0    0    0    0                   0    0    0     # Beta 2
0    0    0    0    0    0    1    0    0    0                   0    0    0     # Alpha & Gamma 3
0    0    0    0    0    0    0    1    0    0                   0    0    0     # Beta 3
0    0    0    0    0    0    0    0    1    0                   0    0    0     # Alpha & Gamma 4
0    0    0    0    0    0    0    0    0    1                   0    0    0     # Beta 4

9    13   
#    p0   p1   p2   p3   p4   p5   p6   p7   p8   
0    1    0    0    0    0    0    0    0    0                   0    0    -1    # Beta 0
0    0    1    0    0    0    0    0    0    0                   0    0    0     # Alpha & Gamma 1
0    0    0    1    0    0    0    0    0    0                   0    0    0     # Beta 1
0    0    0    0    1    0    0    0    0    0                   0    0    0     # Alpha & Gamma 2
0    0    0    0    0    1    0    0    0    0                   0    0    0     # Beta 2
0    0    0    0    0    0    1    0    0    0                   0    0    0     # Alpha & Gamma 3
0    0    0    0    0    0    0    1    0    0                   0    0    0     # Beta 3
0    0    0    0    0    0    0    0    1    0                   0    0    0     # Alpha & Gamma 4
0    0    0    0    0    0    0    0    0    1                   0    0    0     # Beta 4

9    13   
#    p0   p1   p2   p3   p4   p5   p6   p7   p8   
0    1    0    0    0    0    0    0    0    0                   0    0    -2    # Beta 0
0    0    1    0    0    0    0    0    0    0                   0    0    0     # Alpha & Gamma 1
0    0    0    1    0    0    0    0    0    0                   0    0    0     # Beta 1
0    0    0    0    1    0    0    0    0    0                   0    0    0     # Alpha & Gamma 2
0    0    0    0    0    1    0    0    0    0                   0    0    0     # Beta 2
0    0    0    0    0    0    1    0    0    0                   0    0    0     # Alpha & Gamma 3
0    0    0    0    0    0    0    1    0    0                   0    0    0     # Beta 3
0    0    0    0    0    0    0    0    1    0                   0    0    0     # Alpha & Gamma 4
0    0    0    0    0    0    0    0    0    1                   0    0    0     # Beta 4

9    15   
#    p0   p1   p2   p3   p4   p5   p6   p7   p8   
0    1    0    0    0    0    0    0    0    0         0    0              0    0    -3    # Beta 0
0    0    1    0    0    0    0    0    0    0         -1   0              0    0    0     # Alpha & Gamma 1
0    0    0    1    0    0    0    0    0    0         0    0              0    0    0     # Beta 1
0    0    0    0    1    0    0    0    0    0         0    -1             0    0    0     # Alpha & Gamma 2
0    0    0    0    0    1    0    0    0    0         0    0              0    0    0     # Beta 2
0    0    0    0    0    0    1    0    0    0         0    0              0    0    0     # Alpha & Gamma 3
0    0    0    0    0    0    0    1    0    0         0    0              0    0    0     # Beta 3
0    0    0    0    0    0    0    0    1    0         0    0              0    0    0     # Alpha & Gamma 4
0    0    0    0    0    0    0    0    0    1         0    0              0    0    0     # Beta 4

9    15   
#    p0   p1   p2   p3   p4   p5   p6   p7   p8   
0    1    0    0    0    0    0    0    0    0         0    0              0    0    -3    # Beta 0
0    0    1    0    0    0    0    0    0    0         -1   0              0    0    0     # Alpha & Gamma 1
0    0    0    1    0    0    0    0    0    0         0    0              0    0    0     # Beta 1
0    0    0    0    1    0    0    0    0    0         0    -1             0    0    0     # Alpha & Gamma 2
0    0    0    0    0    1    0    0    0    0         0    0              0    0    -1    # Beta 2
0    0    0    0    0    0    1    0    0    0         0    0              0    0    0     # Alpha & Gamma 3
0    0    0    0    0    0    0    1    0    0         0    0              0    0    0     # Beta 3
0    0    0    0    0    0    0    0    1    0         0    0              0    0    0     # Alpha & Gamma 4
0    0    0    0    0    0    0    0    0    1         0    0              0    0    0     # Beta 4

9    17   
#    p0   p1   p2   p3   p4   p5   p6   p7   p8   
0    1    0    0    0    0    0    0    0    0         0    0    0    0              0    0    -4    # Beta 0
0    0    1    0    0    0    0    0    0    0         -1   0    0    0              0    0    0     # Alpha & Gamma 1
0    0    0    1    0    0    0    0    0    0         0    0    0    0              0    0    0     # Beta 1
0    0    0    0    1    0    0    0    0    0         0    -1   0    0              0    0    0     # Alpha & Gamma 2
0    0    0    0    0    1    0    0    0    0         0    0    0    0              0    0    0     # Beta 2
0    0    0    0    0    0    1    0    0    0         0    0    -1   0              0    0    0     # Alpha & Gamma 3
0    0    0    0    0    0    0    1    0    0         0    0    0    0              0    0    0     # Beta 3
0    0    0    0    0    0    0    0    1    0         0    0    0    -1             0    0    -1    # Alpha & Gamma 4
0    0    0    0    0    0    0    0    0    1         0    0    0    0              0    0    0     # Beta 4

9    17   
#    p0   p1   p2   p3   p4   p5   p6   p7   p8   
0    1    0    0    0    0    0    0    0    0         0    0    0    0              0    0    -4    # Beta 0
0    0    1    0    0    0    0    0    0    0         -1   0    0    0              0    0    0     # Alpha & Gamma 1
0    0    0    1    0    0    0    0    0    0         0    0    0    0              0    0    0     # Beta 1
0    0    0    0    1    0    0    0    0    0         0    -1   0    0              0    0    0     # Alpha & Gamma 2
0    0    0    0    0    1    0    0    0    0         0    0    0    0              0    0    0     # Beta 2
0    0    0    0    0    0    1    0    0    0         0    0    -1   0              0    0    0     # Alpha & Gamma 3
0    0    0    0    0    0    0    1    0    0         0    0    0    0              0    0    0     # Beta 3
0    0    0    0    0    0    0    0    1    0         0    0    0    -1             0    0    0     # Alpha & Gamma 4
0    0    0    0    0    0    0    0    0    1         0    0    0    0              0    0    -1    # Beta 4

9    13   
#    p0   p1   p2   p3   p4   p5   p6   p7   p8   
0    1    0    0    0    0    0    0    0    0                   0    0    -5    # Beta 0
0    0    1    0    0    0    0    0    0    0                   0    0    0     # Alpha & Gamma 1
0    0    0    1    0    0    0    0    0    0                   0    0    0     # Beta 1
0    0    0    0    1    0    0    0    0    0                   0    0    0     # Alpha & Gamma 2
0    0    0    0    0    1    0    0    0    0                   0    0    0     # Beta 2
0    0    0    0    0    0    1    0    0    0                   0    0    0     # Alpha & Gamma 3
0    0    0    0    0    0    0    1    0    0                   0    0    0     # Beta 3
0    0    0    0    0    0    0    0    1    0                   0    0    0     # Alpha & Gamma 4
0    0    0    0    0    0    0    0    0    1                   0    0    0     # Beta 4

1 # Set the scattering parameter names.
p0 p1 p2 p3 p4 p5 p6 p7 p8