Added howto file for a new CLooG release
[cloog.git] / test / cholesau_allocation.cloog
blob2f831d8a0733d8bcf71c6512a10736eadfddf85b
1 #         program cholesau
3 #        integer i, j, k,l,n
4 #        real a(10,10),s1(10,10),s2(10),s3(10,10,10),s4(10,10)
6 #         do i=1,n
7 #              do j =1,i-1
8 #                   if (j.EQ.1) then
9 #                         s1(i,j)=a(i,j)s4(j,i)**2
10 #                    else
11 #                         s1(i,j)=s1(i,j-1)-s4(j,i)**2
12 #                    end if
13 #              end do
14 #              if (i .EQ. 1) then
15 #                   s2(i)=sqrt(a(i,i))
16 #              else
17 #                   s2(i)=sqrt (s1(i,i-1))
18 #              end if
19 #              do k=i+1,n
20 #                   do l=1,i-1
21 #                       if (l .EQ. 1) then
22 #                           s3(i,k,l)=a(k,i)-(s4(l,k)*s4(l,i))
23 #                       else
24 #                            s3(i,k,l)=s3(i,k,l-1)-(s4(l,k)*s4(l,i))
25 #                       end if
26 #                   end do
27 #                   if (i .EQ.1) then
28 #                         s4(i,k)=a(k,i)/s2(i)
29 #                   else
30 #                         s4(i,k)=s3(i,k,i-1)/s2(i)
31 #                   end if
32 #              end do
33 #         end do
34 #        end
37 # language: FORTRAN
40 # One parameter : n >= 10
41 1 3
42 #  n  1
43 1  1 -10
44 # We want to set the parameter names...
46 # and 'n' is the name of the unique parameter
49 8 # Number of statements: 8.
52 # {i, j | 1<=i<=n; 1<=j<=i-1; j=1}
53 5 5
54 #  i  j  n  1
55 1  1  0  0 -1 # 1<=i
56 1 -1  0  1  0 # i<=n
57 1  0  1  0 -1 # 1<=j
58 1  1 -1  0 -1 # j<=i-1
59 0  0  1  0 -1 # j=1
60 0  0  0
63 # {i, j | 1<=i<=n; 1<=j<=i-1; j!=1}
64 5 5
65 #  i  j  n  1
66 1  1  0  0 -1 # 1<=i
67 1 -1  0  1  0 # i<=n
68 1  0  1  0 -1 # 1<=j
69 1  1 -1  0 -1 # j<=i-1
70 1  0  1  0 -2 # j>=2
71 5 5
72 #  i  j  n  1
73 1  1  0  0 -1 # 1<=i
74 1 -1  0  1  0 # i<=n
75 1  0  1  0 -1 # 1<=j
76 1  1 -1  0 -1 # j<=i-1
77 1  0 -1  0  0 # j<=0
78 0  0  0
81 # {i | 1<=i<=n; i=1}
82 3 4
83 #  i  n  1
84 1  1  0 -1 # 1<=i
85 1 -1  1  0 # i<=n
86 0  1  0 -1 # i=1
87 0  0  0
90 # {i | 1<=i<=n; i!=1}
91 3 4
92 #  i  n  1
93 1  1  0 -1 # 1<=i
94 1 -1  1  0 # i<=n
95 1  1  0 -2 # i>=2
96 3 4
97 #  i  n  1
98 1  1  0 -1 # 1<=i
99 1 -1  1  0 # i<=n
100 1 -1  0  0 # i<=0
101 0  0  0
104 # {i, j | 1<=i<=n; i+1<=j<=n; 1<=k<=i-1; k=1}
105 7 6
106 #  i  j  k  n  1
107 1  1  0  0  0 -1 # 1<=i
108 1 -1  0  0  1  0 # i<=n
109 1 -1  1  0  0 -1 # i+1<=j
110 1  0 -1  0  1  0 # j<=n
111 1  0  0  1  0 -1 # 1<=k
112 1  1  0 -1  0 -1 # k<=i-1
113 0  0  0  1  0 -1 # k=1
114 0  0  0
117 # {i, j | 1<=i<=n; i+1<=j<=n; 1<=k<=i-1; k!=1}
118 7 6
119 #  i  j  k  n  1
120 1  1  0  0  0 -1 # 1<=i
121 1 -1  0  0  1  0 # i<=n
122 1 -1  1  0  0 -1 # i+1<=j
123 1  0 -1  0  1  0 # j<=n
124 1  0  0  1  0 -1 # 1<=k
125 1  1  0 -1  0 -1 # k<=i-1
126 1  0  0  1  0 -2 # k>=2
127 7 6
128 #  i  j  k  n  1
129 1  1  0  0  0 -1 # 1<=i
130 1 -1  0  0  1  0 # i<=n
131 1 -1  1  0  0 -1 # i+1<=j
132 1  0 -1  0  1  0 # j<=n
133 1  0  0  1  0 -1 # 1<=k
134 1  1  0 -1  0 -1 # k<=i-1
135 1  0  0 -1  0  0 # k<=0
136 0  0  0
139 # {i, j | 1<=i<=n; i+1<=j<=n; i=1}
140 5 5
141 #  i  j  n  1
142 1  1  0  0 -1 # 1<=i
143 1 -1  0  1  0 # i<=n
144 1 -1  1  0 -1 # i+1<=j
145 1  0 -1  1  0 # j<=n
146 0  1  0  0 -1 # i=1
147 0  0  0
150 # {i, j | 1<=i<=n; i+1<=j<=n; i!=1}
151 5 5
152 #  i  j  n  1
153 1  1  0  0 -1 # 1<=i
154 1 -1  0  1  0 # i<=n
155 1 -1  1  0 -1 # i+1<=j
156 1  0 -1  1  0 # j<=n
157 1  1  0  0 -2 # i>=2
158 5 5
159 #  i  j  n  1
160 1  1  0  0 -1 # 1<=i
161 1 -1  0  1  0 # i<=n
162 1 -1  1  0 -1 # i+1<=j
163 1  0 -1  1  0 # j<=n
164 1 -1  0  0  0 # i<=0
165 0  0  0
167 # We want to let CLooG set the iterator names.
171 # Scattering functions ALLOCATION + ORIGINAL SCHEDULING
172 7 12
173 #  p c1 c2 c3 c4 c5 c6  i  j  n  1
174 0  1  0  0  0  0  0  0 -1 -1  0  1 # ins1 : i+j-1
175 0  0  1  0  0  0  0  0 -1  0  0  0 # i
176 0  0  0  1  0  0  0  0  0  0  0  0 # 0
177 0  0  0  0  1  0  0  0  0 -1  0  0 # j
178 0  0  0  0  0  1  0  0  0  0  0  0 # 0
179 0  0  0  0  0  0  1  0  0  0  0  0 # 0
180 0  0  0  0  0  0  0  1  0  0  0  0 # 0
182 7 12
183 #  p c1 c2 c3 c4 c5 c6  i  j  n  1
184 0  1  0  0  0  0  0  0 -1  0  0  0 # ins2 : i
185 0  0  1  0  0  0  0  0 -1  0  0  0 # i
186 0  0  0  1  0  0  0  0  0  0  0  0 # 0
187 0  0  0  0  1  0  0  0  0 -1  0  0 # j
188 0  0  0  0  0  1  0  0  0  0  0 -1 # 1
189 0  0  0  0  0  0  1  0  0  0  0  0 # 0
190 0  0  0  0  0  0  0  1  0  0  0  0 # 0
192 7 11
193 #  p c1 c2 c3 c4 c5 c6  i  n  1
194 0  1  0  0  0  0  0  0 -1  0  1 # ins3 : i-1
195 0  0  1  0  0  0  0  0 -1  0  0 # i
196 0  0  0  1  0  0  0  0  0  0 -1 # 1
197 0  0  0  0  1  0  0  0  0  0  0 # 0
198 0  0  0  0  0  1  0  0  0  0  0 # 0
199 0  0  0  0  0  0  1  0  0  0  0 # 0
200 0  0  0  0  0  0  0  1  0  0  0 # 0
202 7 11
203 #  p c1 c2 c3 c4 c5 c6  i  n  1
204 0  1  0  0  0  0  0  0  0  0  0 # ins4 : 0
205 0  0  1  0  0  0  0  0 -1  0  0 # i
206 0  0  0  1  0  0  0  0  0  0 -2 # 2
207 0  0  0  0  1  0  0  0  0  0  0 # 0
208 0  0  0  0  0  1  0  0  0  0  0 # 0
209 0  0  0  0  0  0  1  0  0  0  0 # 0
210 0  0  0  0  0  0  0  1  0  0  0 # 0
212 7 13
213 #  p c1 c2 c3 c4 c5 c6  i  j  k  n  1
214 0  1  0  0  0  0  0  0  0 -1 -1  0  1 # ins 5 : j+k-1
215 0  0  1  0  0  0  0  0 -1  0  0  0  0 # i
216 0  0  0  1  0  0  0  0  0  0  0  0 -3 # 3
217 0  0  0  0  1  0  0  0  0 -1  0  0  0 # j
218 0  0  0  0  0  1  0  0  0  0  0  0  0 # 0
219 0  0  0  0  0  0  1  0  0  0 -1  0  0 # k
220 0  0  0  0  0  0  0  1  0  0  0  0  0 # 0
222 7 13
223 #  p c1 c2 c3 c4 c5 c6  i  j  k  n  1
224 0  1  0  0  0  0  0  0  0  0 -1  0  0 # ins 6 : k
225 0  0  1  0  0  0  0  0 -1  0  0  0  0 # i
226 0  0  0  1  0  0  0  0  0  0  0  0 -3 # 3
227 0  0  0  0  1  0  0  0  0 -1  0  0  0 # j
228 0  0  0  0  0  1  0  0  0  0  0  0  0 # 0
229 0  0  0  0  0  0  1  0  0  0 -1  0  0 # k
230 0  0  0  0  0  0  0  1  0  0  0  0 -1 # 1
232 7 12
233 #  p c1 c2 c3 c4 c5 c6  i  j  n  1
234 0  1  0  0  0  0  0  0 -1 -1  0  0 # ins 7 : i+j
235 0  0  1  0  0  0  0  0 -1  0  0  0 # i
236 0  0  0  1  0  0  0  0  0  0  0 -3 # 3
237 0  0  0  0  1  0  0  0  0 -1  0  0 # j
238 0  0  0  0  0  1  0  0  0  0  0 -1 # 1
239 0  0  0  0  0  0  1  0  0  0  0  0 # 0
240 0  0  0  0  0  0  0  1  0  0  0  0 # 0
242 7 12
243 #  p c1 c2 c3 c4 c5 c6  i  j  n  1
244 0  1  0  0  0  0  0  0  0 -1  0  0 # ins 8 : j
245 0  0  1  0  0  0  0  0 -1  0  0  0 # i
246 0  0  0  1  0  0  0  0  0  0  0 -3 # 3
247 0  0  0  0  1  0  0  0  0 -1  0  0 # j
248 0  0  0  0  0  1  0  0  0  0  0 -2 # 2
249 0  0  0  0  0  0  1  0  0  0  0  0 # 0
250 0  0  0  0  0  0  0  1  0  0  0  0 # 0
252 1 # We want to set the scatering dimension names.
253 proc c1 c2 c3 c4 c5 c6